Rebase post GCC merge
authorAnthony Green <green@moxielogic.com>
Tue, 20 Mar 2012 03:07:35 +0000 (23:07 -0400)
committerAnthony Green <green@moxielogic.com>
Tue, 20 Mar 2012 03:07:35 +0000 (23:07 -0400)
271 files changed:
.pc/aix-ibm-xlc/.timestamp [deleted file]
.pc/aix-ibm-xlc/ChangeLog [deleted file]
.pc/aix-ibm-xlc/configure [deleted file]
.pc/aix-ibm-xlc/configure.ac [deleted file]
.pc/aix-ibm-xlc/include/ffi.h.in [deleted file]
.pc/aix-ibm-xlc/src/powerpc/aix.S [deleted file]
.pc/aix-ibm-xlc/src/powerpc/aix_closure.S [deleted file]
.pc/alpha/.timestamp [deleted file]
.pc/alpha/ChangeLog [deleted file]
.pc/alpha/src/alpha/ffi.c [deleted file]
.pc/amiga/.timestamp [deleted file]
.pc/amiga/ChangeLog [deleted file]
.pc/amiga/README [deleted file]
.pc/amiga/configure [deleted file]
.pc/amiga/configure.ac [deleted file]
.pc/applied-patches
.pc/autoconf-archive-update/.timestamp [deleted file]
.pc/autoconf-archive-update/Makefile.in [deleted file]
.pc/autoconf-archive-update/aclocal.m4 [deleted file]
.pc/autoconf-archive-update/configure [deleted file]
.pc/autoconf-archive-update/m4/ax_cc_maxopt.m4 [deleted file]
.pc/autoconf-archive-update/m4/ax_cflags_warn_all.m4 [deleted file]
.pc/autoconf-archive-update/m4/ax_compiler_vendor.m4 [deleted file]
.pc/autoconf-archive-update/m4/ax_enable_builddir.m4 [deleted file]
.pc/autoconf-archive-update/m4/ax_gcc_archflag.m4 [deleted file]
.pc/bad-abi-fix/.timestamp [deleted file]
.pc/bad-abi-fix/ChangeLog [deleted file]
.pc/bad-abi-fix/include/ffi_common.h [deleted file]
.pc/bad-abi-fix/src/arm/ffi.c [deleted file]
.pc/bad-abi-fix/src/avr32/ffi.c [deleted file]
.pc/bad-abi-fix/src/ia64/ffi.c [deleted file]
.pc/bad-abi-fix/src/mips/ffi.c [deleted file]
.pc/bad-abi-fix/src/pa/ffi.c [deleted file]
.pc/bad-abi-fix/src/powerpc/ffi.c [deleted file]
.pc/bad-abi-fix/src/prep_cif.c [deleted file]
.pc/bad-abi-fix/src/x86/ffi64.c [deleted file]
.pc/copyright-updates/.timestamp [deleted file]
.pc/copyright-updates/LICENSE [deleted file]
.pc/darwin-EH-fix/.timestamp [deleted file]
.pc/darwin-EH-fix/ChangeLog [deleted file]
.pc/darwin-EH-fix/src/powerpc/darwin.S [deleted file]
.pc/darwin-EH-fix/src/powerpc/darwin_closure.S [deleted file]
.pc/darwin11/.timestamp [deleted file]
.pc/darwin11/ChangeLog [deleted file]
.pc/darwin11/configure [deleted file]
.pc/darwin11/configure.ac [deleted file]
.pc/debug-build/.timestamp [deleted file]
.pc/debug-build/ChangeLog [deleted file]
.pc/debug-build/Makefile.am [deleted file]
.pc/debug-build/configure [deleted file]
.pc/debug-build/configure.ac [deleted file]
.pc/ffi_last_abi/.timestamp [deleted file]
.pc/ffi_last_abi/ChangeLog [deleted file]
.pc/ffi_last_abi/src/avr32/ffitarget.h [deleted file]
.pc/ffi_last_abi/src/cris/ffi.c [deleted file]
.pc/ffi_last_abi/src/cris/ffitarget.h [deleted file]
.pc/ffi_last_abi/src/frv/ffitarget.h [deleted file]
.pc/ffi_last_abi/src/ia64/ffitarget.h [deleted file]
.pc/ffi_last_abi/src/m32r/ffitarget.h [deleted file]
.pc/ffi_last_abi/src/m68k/ffitarget.h [deleted file]
.pc/ffi_last_abi/src/mips/ffitarget.h [deleted file]
.pc/ffi_last_abi/src/moxie/ffitarget.h [deleted file]
.pc/ffi_last_abi/src/pa/ffitarget.h [deleted file]
.pc/ffi_last_abi/src/prep_cif.c [deleted file]
.pc/ffi_last_abi/src/s390/ffitarget.h [deleted file]
.pc/ffi_last_abi/src/sh/ffitarget.h [deleted file]
.pc/ffi_last_abi/src/sh64/ffitarget.h [deleted file]
.pc/ffi_last_abi/src/sparc/ffitarget.h [deleted file]
.pc/ffi_last_abi/src/x86/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/.timestamp [deleted file]
.pc/ffitarget-include-fix/src/alpha/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/arm/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/avr32/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/cris/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/frv/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/ia64/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/m32r/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/m68k/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/mips/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/moxie/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/pa/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/powerpc/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/s390/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/sh/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/sh64/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/sparc/ffitarget.h [deleted file]
.pc/ffitarget-include-fix/src/x86/ffitarget.h [deleted file]
.pc/fix-grammar/.timestamp [deleted file]
.pc/fix-grammar/ChangeLog [deleted file]
.pc/fix-grammar/src/powerpc/asm.h [deleted file]
.pc/fix-ppc32/.timestamp [deleted file]
.pc/fix-ppc32/ChangeLog [deleted file]
.pc/fix-ppc32/src/powerpc/ffi.c [deleted file]
.pc/fix-xfails/.timestamp [deleted file]
.pc/fix-xfails/ChangeLog [deleted file]
.pc/fix-xfails/src/prep_cif.c [deleted file]
.pc/fix-xfails/src/x86/ffi64.c [deleted file]
.pc/fix-xfails/testsuite/libffi.call/err_bad_abi.c [deleted file]
.pc/fix-xfails/testsuite/libffi.call/err_bad_typedef.c [deleted file]
.pc/fix_maxopt/.timestamp [deleted file]
.pc/fix_maxopt/ChangeLog [deleted file]
.pc/fix_maxopt/m4/ax_cc_maxopt.m4 [deleted file]
.pc/hpux-mallinfo/.timestamp [deleted file]
.pc/hpux-mallinfo/ChangeLog [deleted file]
.pc/hpux-mallinfo/src/dlmalloc.c [deleted file]
.pc/interix-patch/.timestamp [deleted file]
.pc/interix-patch/src/closures.c [deleted file]
.pc/interix/.timestamp [deleted file]
.pc/interix/ChangeLog [deleted file]
.pc/interix/configure [deleted file]
.pc/interix/configure.ac [deleted file]
.pc/interix/src/closures.c [deleted file]
.pc/ios-fixes/.timestamp [deleted file]
.pc/ios-fixes/ChangeLog [deleted file]
.pc/ios-fixes/build-ios.sh [deleted file]
.pc/ios/.timestamp [deleted file]
.pc/ios/ChangeLog [deleted file]
.pc/ios/Makefile.am [deleted file]
.pc/ios/Makefile.in [deleted file]
.pc/ios/configure.ac [deleted file]
.pc/ios/fficonfig.h.in [deleted file]
.pc/ios/src/arm/ffi.c [deleted file]
.pc/ios/src/arm/sysv.S [deleted file]
.pc/ios/src/closures.c [deleted file]
.pc/irix/.timestamp [deleted file]
.pc/irix/ChangeLog [deleted file]
.pc/irix/include/ffi.h.in [deleted file]
.pc/irix/src/java_raw_api.c [deleted file]
.pc/irix/src/mips/ffitarget.h [deleted file]
.pc/kfreebsd-mmap/.timestamp [deleted file]
.pc/kfreebsd-mmap/ChangeLog [deleted file]
.pc/kfreebsd-mmap/configure.ac [deleted file]
.pc/m68k-patches/.timestamp [deleted file]
.pc/m68k-patches/src/m68k/ffi.c [deleted file]
.pc/m68k-patches/testsuite/libffi.call/return_sc.c [deleted file]
.pc/ml64-safeseh/.timestamp [deleted file]
.pc/ml64-safeseh/ChangeLog [deleted file]
.pc/ml64-safeseh/msvcc.sh [deleted file]
.pc/more-openbsd-mips/.timestamp [deleted file]
.pc/more-openbsd-mips/configure.ac [deleted file]
.pc/more-openbsd-mips/src/mips/ffi.c [deleted file]
.pc/more-openbsd-mips/src/mips/ffitarget.h [deleted file]
.pc/more-openbsd/.timestamp [deleted file]
.pc/more-openbsd/ChangeLog [deleted file]
.pc/more-openbsd/configure.ac [deleted file]
.pc/msvcc-warning/.timestamp [deleted file]
.pc/msvcc-warning/ChangeLog [deleted file]
.pc/msvcc-warning/msvcc.sh [deleted file]
.pc/msvcc/.timestamp [deleted file]
.pc/msvcc/Makefile.am [deleted file]
.pc/msvcc/Makefile.in [deleted file]
.pc/no-undefined-fix/.timestamp [deleted file]
.pc/no-undefined-fix/ChangeLog [deleted file]
.pc/no-undefined-fix/configure [deleted file]
.pc/no-undefined-fix/configure.ac [deleted file]
.pc/powerpc-ffi-softfloat/.timestamp [deleted file]
.pc/powerpc-ffi-softfloat/ChangeLog [deleted file]
.pc/powerpc-ffi-softfloat/src/powerpc/ffi.c [deleted file]
.pc/powerpc-ffi-softfloat/src/powerpc/ffitarget.h [deleted file]
.pc/powerpc-ffi-softfloat/src/powerpc/ppc_closure.S [deleted file]
.pc/powerpc-ffi-softfloat/src/powerpc/sysv.S [deleted file]
.pc/powerpc-sysv-without-string-ops/.timestamp [deleted file]
.pc/powerpc-sysv-without-string-ops/ChangeLog [deleted file]
.pc/powerpc-sysv-without-string-ops/src/powerpc/ffi.c [deleted file]
.pc/powerpc-sysv-without-string-ops/src/powerpc/sysv.S [deleted file]
.pc/ppc64-darwin/.timestamp [deleted file]
.pc/ppc64-darwin/ChangeLog [deleted file]
.pc/ppc64-darwin/configure [deleted file]
.pc/ppc64-darwin/configure.ac [deleted file]
.pc/remove-debug-code/.timestamp [deleted file]
.pc/remove-debug-code/ChangeLog [deleted file]
.pc/remove-debug-code/Makefile.am [deleted file]
.pc/remove-debug-code/Makefile.in [deleted file]
.pc/remove-debug-code/libtool-version [deleted file]
.pc/sparc-abi-check/.timestamp [deleted file]
.pc/sparc-abi-check/ChangeLog [deleted file]
.pc/sparc-abi-check/src/sparc/ffi.c [deleted file]
.pc/sparc-v8-aggregate-returns/.timestamp [deleted file]
.pc/sparc-v8-aggregate-returns/ChangeLog [deleted file]
.pc/sparc-v8-aggregate-returns/src/sparc/ffi.c [deleted file]
.pc/stand-alone/LICENSE [deleted file]
.pc/stand-alone/Makefile.am
.pc/stand-alone/Makefile.in [moved from .pc/debug-build/Makefile.in with 99% similarity]
.pc/stand-alone/README [deleted file]
.pc/stand-alone/config.guess [new file with mode: 0755]
.pc/stand-alone/config.sub [new file with mode: 0755]
.pc/stand-alone/configure
.pc/stand-alone/configure.ac
.pc/stand-alone/include/Makefile.in [moved from .pc/autoconf-archive-update/include/Makefile.in with 87% similarity]
.pc/stand-alone/m4/ax_cc_maxopt.m4 [moved from .pc/ungccify/m4/ax_cc_maxopt.m4 with 100% similarity]
.pc/stand-alone/m4/ax_cflags_warn_all.m4 [moved from .pc/ungccify/m4/ax_cflags_warn_all.m4 with 100% similarity]
.pc/stand-alone/m4/ax_check_compiler_flags.m4 [moved from .pc/ungccify/m4/ax_check_compiler_flags.m4 with 100% similarity]
.pc/stand-alone/m4/ax_compiler_vendor.m4 [moved from .pc/ungccify/m4/ax_compiler_vendor.m4 with 100% similarity]
.pc/stand-alone/m4/ax_configure_args.m4 [moved from .pc/ungccify/m4/ax_configure_args.m4 with 100% similarity]
.pc/stand-alone/m4/ax_enable_builddir.m4 [moved from .pc/ungccify/m4/ax_enable_builddir.m4 with 100% similarity]
.pc/stand-alone/m4/ax_gcc_archflag.m4 [moved from .pc/ungccify/m4/ax_gcc_archflag.m4 with 100% similarity]
.pc/stand-alone/m4/ax_gcc_x86_cpuid.m4 [moved from .pc/ungccify/m4/ax_gcc_x86_cpuid.m4 with 100% similarity]
.pc/stand-alone/man/Makefile.am [moved from .pc/variadic/man/Makefile.am with 100% similarity]
.pc/stand-alone/man/Makefile.in [moved from .pc/autoconf-archive-update/man/Makefile.in with 96% similarity]
.pc/stand-alone/testsuite/Makefile.in [moved from .pc/autoconf-archive-update/testsuite/Makefile.in with 75% similarity]
.pc/stdcall-x86-closure-fix/.timestamp [deleted file]
.pc/stdcall-x86-closure-fix/ChangeLog [deleted file]
.pc/stdcall-x86-closure-fix/src/prep_cif.c [deleted file]
.pc/stdcall-x86-closure-fix/src/x86/ffi.c [deleted file]
.pc/stdcall-x86-closure-fix/src/x86/ffitarget.h [deleted file]
.pc/ungccify/.timestamp [deleted file]
.pc/ungccify/Makefile.am [deleted file]
.pc/ungccify/Makefile.in [deleted file]
.pc/ungccify/configure.ac [deleted file]
.pc/unlikely/.timestamp [deleted file]
.pc/unlikely/ChangeLog [deleted file]
.pc/unlikely/include/ffi_common.h [deleted file]
.pc/variadic/.timestamp [deleted file]
.pc/variadic/ChangeLog [deleted file]
.pc/variadic/doc/libffi.texi [deleted file]
.pc/variadic/include/ffi.h.in [deleted file]
.pc/variadic/include/ffi_common.h [deleted file]
.pc/variadic/man/ffi.3 [deleted file]
.pc/variadic/man/ffi_prep_cif.3 [deleted file]
.pc/variadic/man/ffi_prep_cif_var.3 [deleted file]
.pc/variadic/src/arm/ffi.c [deleted file]
.pc/variadic/src/arm/ffitarget.h [deleted file]
.pc/variadic/src/cris/ffi.c [deleted file]
.pc/variadic/src/prep_cif.c [deleted file]
.pc/variadic/testsuite/libffi.call/cls_double_va.c [deleted file]
.pc/variadic/testsuite/libffi.call/cls_longdouble_va.c [deleted file]
.pc/variadic/testsuite/libffi.call/float_va.c [deleted file]
.pc/win64-struct-args/.timestamp [deleted file]
.pc/win64-struct-args/ChangeLog [deleted file]
.pc/win64-struct-args/doc/libffi.info [deleted file]
.pc/win64-struct-args/doc/libffi.texi [deleted file]
.pc/win64-struct-args/src/x86/ffi.c [deleted file]
.pc/win64-underscore/.timestamp [deleted file]
.pc/win64-underscore/ChangeLog [deleted file]
.pc/win64-underscore/aclocal.m4 [deleted file]
.pc/win64-underscore/configure [deleted file]
.pc/win64-underscore/configure.ac [deleted file]
.pc/win64-underscore/src/x86/win64.S [deleted file]
.pc/windows-ce-arm/.timestamp [deleted file]
.pc/windows-ce-arm/ChangeLog [deleted file]
.pc/windows-ce-arm/src/arm/ffi.c [deleted file]
.pc/x32-abi/.timestamp [deleted file]
.pc/x32-abi/ChangeLog [deleted file]
.pc/x32-abi/README [deleted file]
.pc/x32-abi/src/x86/ffi64.c [deleted file]
.pc/x32-abi/src/x86/ffitarget.h [deleted file]
.pc/x86_abi_check_fix/.timestamp [deleted file]
.pc/x86_abi_check_fix/ChangeLog [deleted file]
.pc/x86_abi_check_fix/src/prep_cif.c [deleted file]
.pc/x86_pcrel_test/.timestamp [deleted file]
.pc/x86_pcrel_test/ChangeLog [deleted file]
.pc/x86_pcrel_test/configure [deleted file]
.pc/x86_pcrel_test/configure.ac [deleted file]
ChangeLog
LICENSE
Makefile.in
config.guess
config.sub
configure
configure.ac
doc/libffi.info
include/Makefile.in
libtool-version
man/Makefile.in
patches/series
patches/stand-alone
src/moxie/ffitarget.h
src/powerpc/aix_closure.S
src/sh/ffi.c
src/sh64/ffi.c
testsuite/Makefile.in

diff --git a/.pc/aix-ibm-xlc/.timestamp b/.pc/aix-ibm-xlc/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/aix-ibm-xlc/ChangeLog b/.pc/aix-ibm-xlc/ChangeLog
deleted file mode 100644 (file)
index 38795ee..0000000
+++ /dev/null
@@ -1,4556 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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.
-       * confifure: 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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/aix-ibm-xlc/configure b/.pc/aix-ibm-xlc/configure
deleted file mode 100755 (executable)
index 23cb992..0000000
+++ /dev/null
@@ -1,16028 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/libffi]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer
-  --enable-debug          debugging mode
-  --disable-structs       omit code for struct support
-  --disable-raw-api       make the raw api unavailable
-  --enable-purify-safety  purify-safe mode
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CCAS        assembler compiler command (defaults to CC)
-  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if test "$cross_compiling" = yes; then
-    # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid; break
-else
-  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
-                       if test $ac_lo -le $ac_mid; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=$ac_mid; break
-else
-  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid
-else
-  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (($2) < 0)
-    {
-      long int i = longval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
-  ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
-  fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CCAS_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CCAS_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
-  am__fastdepCCAS_TRUE=
-  am__fastdepCCAS_FALSE='#'
-else
-  am__fastdepCCAS_TRUE='#'
-  am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
-   if test "$GCC" = yes; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
-           ;;
-         ppc64-*linux*|powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         ppc*-*linux*|powerpc*-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
-        enable_dlopen=no
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl='-Wl,-Wl,,'
-       lt_prog_compiler_pic='-PIC'
-       lt_prog_compiler_static='-Bstatic'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ F* | *Sun*Fortran*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec=
-         hardcode_libdir_flag_spec_ld='-rpath $libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       always_export_symbols=yes
-       file_list_spec='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-       enable_shared_with_static_runtimes=yes
-       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds='chmod 644 $oldlib'
-       postlink_cmds='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_flag_spec_ld='+b $libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-       fi
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec="$LIB"
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
-else
-  libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
-else
-  ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
-       ac_cv_func_mmap_anon=no ;;
-     *)
-       ac_cv_func_mmap_anon=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
-   fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
-  TESTSUBDIR_TRUE=
-  TESTSUBDIR_FALSE='#'
-else
-  TESTSUBDIR_TRUE='#'
-  TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[0-9]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
- powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[34]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
-  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
-  MIPS_TRUE=
-  MIPS_FALSE='#'
-else
-  MIPS_TRUE='#'
-  MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
-  SPARC_TRUE=
-  SPARC_FALSE='#'
-else
-  SPARC_TRUE='#'
-  SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
-  X86_TRUE=
-  X86_FALSE='#'
-else
-  X86_TRUE='#'
-  X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
-  X86_FREEBSD_TRUE=
-  X86_FREEBSD_FALSE='#'
-else
-  X86_FREEBSD_TRUE='#'
-  X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
-  X86_WIN32_TRUE=
-  X86_WIN32_FALSE='#'
-else
-  X86_WIN32_TRUE='#'
-  X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
-  X86_WIN64_TRUE=
-  X86_WIN64_FALSE='#'
-else
-  X86_WIN64_TRUE='#'
-  X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
-  X86_DARWIN_TRUE=
-  X86_DARWIN_FALSE='#'
-else
-  X86_DARWIN_TRUE='#'
-  X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
-  ALPHA_TRUE=
-  ALPHA_FALSE='#'
-else
-  ALPHA_TRUE='#'
-  ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
-  IA64_TRUE=
-  IA64_FALSE='#'
-else
-  IA64_TRUE='#'
-  IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
-  M32R_TRUE=
-  M32R_FALSE='#'
-else
-  M32R_TRUE='#'
-  M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
-  M68K_TRUE=
-  M68K_FALSE='#'
-else
-  M68K_TRUE='#'
-  M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
-  MOXIE_TRUE=
-  MOXIE_FALSE='#'
-else
-  MOXIE_TRUE='#'
-  MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
-  POWERPC_TRUE=
-  POWERPC_FALSE='#'
-else
-  POWERPC_TRUE='#'
-  POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
-  POWERPC_AIX_TRUE=
-  POWERPC_AIX_FALSE='#'
-else
-  POWERPC_AIX_TRUE='#'
-  POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
-  POWERPC_DARWIN_TRUE=
-  POWERPC_DARWIN_FALSE='#'
-else
-  POWERPC_DARWIN_TRUE='#'
-  POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
-  POWERPC_FREEBSD_TRUE=
-  POWERPC_FREEBSD_FALSE='#'
-else
-  POWERPC_FREEBSD_TRUE='#'
-  POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
-  ARM_TRUE=
-  ARM_FALSE='#'
-else
-  ARM_TRUE='#'
-  ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
-  AVR32_TRUE=
-  AVR32_FALSE='#'
-else
-  AVR32_TRUE='#'
-  AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
-  LIBFFI_CRIS_TRUE=
-  LIBFFI_CRIS_FALSE='#'
-else
-  LIBFFI_CRIS_TRUE='#'
-  LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
-  FRV_TRUE=
-  FRV_FALSE='#'
-else
-  FRV_TRUE='#'
-  FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
-  S390_TRUE=
-  S390_FALSE='#'
-else
-  S390_TRUE='#'
-  S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
-  X86_64_TRUE=
-  X86_64_FALSE='#'
-else
-  X86_64_TRUE='#'
-  X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
-  SH_TRUE=
-  SH_FALSE='#'
-else
-  SH_TRUE='#'
-  SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
-  SH64_TRUE=
-  SH64_FALSE='#'
-else
-  SH64_TRUE='#'
-  SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
-  PA_LINUX_TRUE=
-  PA_LINUX_FALSE='#'
-else
-  PA_LINUX_TRUE='#'
-  PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
-  PA_HPUX_TRUE=
-  PA_HPUX_FALSE='#'
-else
-  PA_HPUX_TRUE='#'
-  PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
-  PA64_HPUX_TRUE=
-  PA64_HPUX_FALSE='#'
-else
-  PA64_HPUX_TRUE='#'
-  PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
-  ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
-                                   if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
-    break
-fi
-
-  done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_long_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
-    fi
-  fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    gcc_cv_as_cfi_pseudo_op=unknown
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gcc_cv_as_cfi_pseudo_op=yes
-else
-  gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  libffi_cv_as_sparc_ua_pcrel=yes
-else
-  libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_register_pseudo_op=yes
-else
-  libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_ascii_pseudo_op=yes
-else
-  libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_string_pseudo_op=yes
-else
-  libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sys_symbol_underscore=no
-  cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    ac_nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$ac_nlist"; then
-      # See whether the symbols have a leading underscore.
-      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
-        lt_cv_sys_symbol_underscore=yes
-      else
-        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
-         :
-        else
-         echo "configure: cannot find nm_test_func in $ac_nlist" >&5
-        fi
-      fi
-    else
-      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "configure: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
-  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
-    if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
-    fi
-fi
-
-case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
-     ;;
-esac
-
-if test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
-    fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
-  enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
-  fi
-fi
-
- if test "$enable_debug" = "yes"; then
-  FFI_DEBUG_TRUE=
-  FFI_DEBUG_FALSE='#'
-else
-  FFI_DEBUG_TRUE='#'
-  FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
-  enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
-  enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
-  enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
-  fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
-  as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
-  as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
-  as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
-  as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
-  as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
-  as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
-  as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
-  as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
-  as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
-  as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
-  as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
-  as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
-  as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
-  as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
-  as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
-  as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
-  as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
-    "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
-    "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
-    "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
-    "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
-    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
-    "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS  :L $CONFIG_LINKS  :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-  :L)
-  #
-  # CONFIG_LINK
-  #
-
-  if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
-    :
-  else
-    # Prefer the file from the source tree if names are identical.
-    if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
-      ac_source=$srcdir/$ac_source
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
-    if test ! -r "$ac_source"; then
-      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
-    fi
-    rm -f "$ac_file"
-
-    # Try a relative symlink, then a hard link, then a copy.
-    case $ac_source in
-    [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
-       *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
-    esac
-    ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
-      ln "$ac_source" "$ac_file" 2>/dev/null ||
-      cp -p "$ac_source" "$ac_file" ||
-      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
-  fi
- ;;
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-    "include":C) test -d include || mkdir include ;;
-    "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/aix-ibm-xlc/configure.ac b/.pc/aix-ibm-xlc/configure.ac
deleted file mode 100644 (file)
index 71d58b7..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
- powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    LT_SYS_SYMBOL_USCORE
-    if test "x$sys_symbol_underscore" = xyes; then
-        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-    fi
-fi
-
-case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-    libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-    ])
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
-    AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-    AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.])
-else
-    AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.])
-fi
-
-AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-    libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-    ])
-if test $libffi_cv_hidden_visibility_attribute = yes; then
-    AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/aix-ibm-xlc/include/ffi.h.in b/.pc/aix-ibm-xlc/include/ffi.h.in
deleted file mode 100644 (file)
index 92e38c4..0000000
+++ /dev/null
@@ -1,404 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   libffi @VERSION@ - Copyright (c) 1996-2003, 2007, 2008  Red Hat, Inc.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-/* -------------------------------------------------------------------
-   The basic API is described in the README file.
-
-   The raw API is designed to bypass some of the argument packing
-   and unpacking on architectures for which it can be avoided.
-
-   The closure API allows interpreted functions to be packaged up
-   inside a C function pointer, so that they can be called as C functions,
-   with no understanding on the client side that they are interpreted.
-   It can also be used in other cases in which it is necessary to package
-   up a user specified parameter and a function pointer as a single
-   function pointer.
-
-   The closure API must be implemented in order to get its functionality,
-   e.g. for use by gij.  Routines are provided to emulate the raw API
-   if the underlying platform doesn't allow faster implementation.
-
-   More details on the raw and cloure API can be found in:
-
-   http://gcc.gnu.org/ml/java/1999-q3/msg00138.html
-
-   and
-
-   http://gcc.gnu.org/ml/java/1999-q3/msg00174.html
-   -------------------------------------------------------------------- */
-
-#ifndef LIBFFI_H
-#define LIBFFI_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Specify which architecture libffi is configured for. */
-#ifndef @TARGET@
-#define @TARGET@
-#endif
-
-/* ---- System configuration information --------------------------------- */
-
-#include <ffitarget.h>
-
-#ifndef LIBFFI_ASM
-
-#ifdef _MSC_VER
-#define __attribute__(X)
-#endif
-
-#include <stddef.h>
-#include <limits.h>
-
-/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example).
-   But we can find it either under the correct ANSI name, or under GNU
-   C's internal name.  */
-#ifdef LONG_LONG_MAX
-# define FFI_LONG_LONG_MAX LONG_LONG_MAX
-#else
-# ifdef LLONG_MAX
-#  define FFI_LONG_LONG_MAX LLONG_MAX
-# else
-#  ifdef __GNUC__
-#   define FFI_LONG_LONG_MAX __LONG_LONG_MAX__
-#  endif
-# endif
-#endif
-
-/* The closure code assumes that this works on pointers, i.e. a size_t */
-/* can hold a pointer.                                                 */
-
-typedef struct _ffi_type
-{
-  size_t size;
-  unsigned short alignment;
-  unsigned short type;
-  struct _ffi_type **elements;
-} ffi_type;
-
-#ifndef LIBFFI_HIDE_BASIC_TYPES
-#if SCHAR_MAX == 127
-# define ffi_type_uchar                ffi_type_uint8
-# define ffi_type_schar                ffi_type_sint8
-#else
- #error "char size not supported"
-#endif
-
-#if SHRT_MAX == 32767
-# define ffi_type_ushort       ffi_type_uint16
-# define ffi_type_sshort       ffi_type_sint16
-#elif SHRT_MAX == 2147483647
-# define ffi_type_ushort       ffi_type_uint32
-# define ffi_type_sshort       ffi_type_sint32
-#else
- #error "short size not supported"
-#endif
-
-#if INT_MAX == 32767
-# define ffi_type_uint         ffi_type_uint16
-# define ffi_type_sint         ffi_type_sint16
-#elif INT_MAX == 2147483647
-# define ffi_type_uint         ffi_type_uint32
-# define ffi_type_sint         ffi_type_sint32
-#elif INT_MAX == 9223372036854775807
-# define ffi_type_uint         ffi_type_uint64
-# define ffi_type_sint         ffi_type_sint64
-#else
- #error "int size not supported"
-#endif
-
-#if LONG_MAX == 2147483647
-# if FFI_LONG_LONG_MAX != 9223372036854775807
- #error "no 64-bit data type supported"
-# endif
-#elif LONG_MAX != 9223372036854775807
- #error "long size not supported"
-#endif
-
-#if LONG_MAX == 2147483647
-# define ffi_type_ulong        ffi_type_uint32
-# define ffi_type_slong        ffi_type_sint32
-#elif LONG_MAX == 9223372036854775807
-# define ffi_type_ulong        ffi_type_uint64
-# define ffi_type_slong        ffi_type_sint64
-#else
- #error "long size not supported"
-#endif
-
-/* These are defined in types.c */
-extern ffi_type ffi_type_void;
-extern ffi_type ffi_type_uint8;
-extern ffi_type ffi_type_sint8;
-extern ffi_type ffi_type_uint16;
-extern ffi_type ffi_type_sint16;
-extern ffi_type ffi_type_uint32;
-extern ffi_type ffi_type_sint32;
-extern ffi_type ffi_type_uint64;
-extern ffi_type ffi_type_sint64;
-extern ffi_type ffi_type_float;
-extern ffi_type ffi_type_double;
-extern ffi_type ffi_type_pointer;
-
-#if @HAVE_LONG_DOUBLE@
-extern ffi_type ffi_type_longdouble;
-#else
-#define ffi_type_longdouble ffi_type_double
-#endif
-#endif /* LIBFFI_HIDE_BASIC_TYPES */
-
-typedef enum {
-  FFI_OK = 0,
-  FFI_BAD_TYPEDEF,
-  FFI_BAD_ABI
-} ffi_status;
-
-typedef unsigned FFI_TYPE;
-
-typedef struct {
-  ffi_abi abi;
-  unsigned nargs;
-  ffi_type **arg_types;
-  ffi_type *rtype;
-  unsigned bytes;
-  unsigned flags;
-#ifdef FFI_EXTRA_CIF_FIELDS
-  FFI_EXTRA_CIF_FIELDS;
-#endif
-} ffi_cif;
-
-/* ---- Definitions for the raw API -------------------------------------- */
-
-#ifndef FFI_SIZEOF_ARG
-# if LONG_MAX == 2147483647
-#  define FFI_SIZEOF_ARG        4
-# elif LONG_MAX == 9223372036854775807
-#  define FFI_SIZEOF_ARG        8
-# endif
-#endif
-
-#ifndef FFI_SIZEOF_JAVA_RAW
-#  define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG
-#endif
-
-typedef union {
-  ffi_sarg  sint;
-  ffi_arg   uint;
-  float            flt;
-  char      data[FFI_SIZEOF_ARG];
-  void*     ptr;
-} ffi_raw;
-
-#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8
-/* This is a special case for mips64/n32 ABI (and perhaps others) where
-   sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8.  */
-typedef union {
-  signed int   sint;
-  unsigned int uint;
-  float                flt;
-  char         data[FFI_SIZEOF_JAVA_RAW];
-  void*                ptr;
-} ffi_java_raw;
-#else
-typedef ffi_raw ffi_java_raw;
-#endif
-
-
-void ffi_raw_call (ffi_cif *cif,
-                  void (*fn)(void),
-                  void *rvalue,
-                  ffi_raw *avalue);
-
-void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
-void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
-size_t ffi_raw_size (ffi_cif *cif);
-
-/* This is analogous to the raw API, except it uses Java parameter     */
-/* packing, even on 64-bit machines.  I.e. on 64-bit machines          */
-/* longs and doubles are followed by an empty 64-bit word.             */
-
-void ffi_java_raw_call (ffi_cif *cif,
-                       void (*fn)(void),
-                       void *rvalue,
-                       ffi_java_raw *avalue);
-
-void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw);
-void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args);
-size_t ffi_java_raw_size (ffi_cif *cif);
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if FFI_CLOSURES
-
-#ifdef _MSC_VER
-__declspec(align(8))
-#endif
-typedef struct {
-  char tramp[FFI_TRAMPOLINE_SIZE];
-  ffi_cif   *cif;
-  void     (*fun)(ffi_cif*,void*,void**,void*);
-  void      *user_data;
-#ifdef __GNUC__
-} ffi_closure __attribute__((aligned (8)));
-#else
-} ffi_closure;
-#endif
-
-void *ffi_closure_alloc (size_t size, void **code);
-void ffi_closure_free (void *);
-
-ffi_status
-ffi_prep_closure (ffi_closure*,
-                 ffi_cif *,
-                 void (*fun)(ffi_cif*,void*,void**,void*),
-                 void *user_data);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure*,
-                     ffi_cif *,
-                     void (*fun)(ffi_cif*,void*,void**,void*),
-                     void *user_data,
-                     void*codeloc);
-
-typedef struct {
-  char tramp[FFI_TRAMPOLINE_SIZE];
-
-  ffi_cif   *cif;
-
-#if !FFI_NATIVE_RAW_API
-
-  /* if this is enabled, then a raw closure has the same layout 
-     as a regular closure.  We use this to install an intermediate 
-     handler to do the transaltion, void** -> ffi_raw*. */
-
-  void     (*translate_args)(ffi_cif*,void*,void**,void*);
-  void      *this_closure;
-
-#endif
-
-  void     (*fun)(ffi_cif*,void*,ffi_raw*,void*);
-  void      *user_data;
-
-} ffi_raw_closure;
-
-typedef struct {
-  char tramp[FFI_TRAMPOLINE_SIZE];
-
-  ffi_cif   *cif;
-
-#if !FFI_NATIVE_RAW_API
-
-  /* if this is enabled, then a raw closure has the same layout 
-     as a regular closure.  We use this to install an intermediate 
-     handler to do the transaltion, void** -> ffi_raw*. */
-
-  void     (*translate_args)(ffi_cif*,void*,void**,void*);
-  void      *this_closure;
-
-#endif
-
-  void     (*fun)(ffi_cif*,void*,ffi_java_raw*,void*);
-  void      *user_data;
-
-} ffi_java_raw_closure;
-
-ffi_status
-ffi_prep_raw_closure (ffi_raw_closure*,
-                     ffi_cif *cif,
-                     void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
-                     void *user_data);
-
-ffi_status
-ffi_prep_raw_closure_loc (ffi_raw_closure*,
-                         ffi_cif *cif,
-                         void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
-                         void *user_data,
-                         void *codeloc);
-
-ffi_status
-ffi_prep_java_raw_closure (ffi_java_raw_closure*,
-                          ffi_cif *cif,
-                          void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
-                          void *user_data);
-
-ffi_status
-ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*,
-                              ffi_cif *cif,
-                              void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
-                              void *user_data,
-                              void *codeloc);
-
-#endif /* FFI_CLOSURES */
-
-/* ---- Public interface definition -------------------------------------- */
-
-ffi_status ffi_prep_cif(ffi_cif *cif,
-                       ffi_abi abi,
-                       unsigned int nargs,
-                       ffi_type *rtype,
-                       ffi_type **atypes);
-
-void ffi_call(ffi_cif *cif,
-             void (*fn)(void),
-             void *rvalue,
-             void **avalue);
-
-/* Useful for eliminating compiler warnings */
-#define FFI_FN(f) ((void (*)(void))f)
-
-/* ---- Definitions shared with assembly code ---------------------------- */
-
-#endif
-
-/* If these change, update src/mips/ffitarget.h. */
-#define FFI_TYPE_VOID       0    
-#define FFI_TYPE_INT        1
-#define FFI_TYPE_FLOAT      2    
-#define FFI_TYPE_DOUBLE     3
-#if @HAVE_LONG_DOUBLE@
-#define FFI_TYPE_LONGDOUBLE 4
-#else
-#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE
-#endif
-#define FFI_TYPE_UINT8      5   
-#define FFI_TYPE_SINT8      6
-#define FFI_TYPE_UINT16     7 
-#define FFI_TYPE_SINT16     8
-#define FFI_TYPE_UINT32     9
-#define FFI_TYPE_SINT32     10
-#define FFI_TYPE_UINT64     11
-#define FFI_TYPE_SINT64     12
-#define FFI_TYPE_STRUCT     13
-#define FFI_TYPE_POINTER    14
-
-/* This should always refer to the last type code (for sanity checks) */
-#define FFI_TYPE_LAST       FFI_TYPE_POINTER
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/.pc/aix-ibm-xlc/src/powerpc/aix.S b/.pc/aix-ibm-xlc/src/powerpc/aix.S
deleted file mode 100644 (file)
index c6f8764..0000000
+++ /dev/null
@@ -1,324 +0,0 @@
-/* -----------------------------------------------------------------------
-   aix.S - Copyright (c) 2002,2009 Free Software Foundation, Inc.
-   based on darwin.S by John Hornkvist
-
-   PowerPC Assembly glue.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
-   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-   OTHER DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-       .set r0,0
-       .set r1,1
-       .set r2,2
-       .set r3,3
-       .set r4,4
-       .set r5,5
-       .set r6,6
-       .set r7,7
-       .set r8,8
-       .set r9,9
-       .set r10,10
-       .set r11,11
-       .set r12,12
-       .set r13,13
-       .set r14,14
-       .set r15,15
-       .set r16,16
-       .set r17,17
-       .set r18,18
-       .set r19,19
-       .set r20,20
-       .set r21,21
-       .set r22,22
-       .set r23,23
-       .set r24,24
-       .set r25,25
-       .set r26,26
-       .set r27,27
-       .set r28,28
-       .set r29,29
-       .set r30,30
-       .set r31,31
-       .set f0,0
-       .set f1,1
-       .set f2,2
-       .set f3,3
-       .set f4,4
-       .set f5,5
-       .set f6,6
-       .set f7,7
-       .set f8,8
-       .set f9,9
-       .set f10,10
-       .set f11,11
-       .set f12,12
-       .set f13,13
-       .set f14,14
-       .set f15,15
-       .set f16,16
-       .set f17,17
-       .set f18,18
-       .set f19,19
-       .set f20,20
-       .set f21,21
-
-#define LIBFFI_ASM
-#include <fficonfig.h>
-#include <ffi.h>
-#define JUMPTARGET(name) name
-#define L(x) x
-       .file "aix.S"
-       .toc
-
-       /* void ffi_call_AIX(extended_cif *ecif, unsigned long bytes,
-        *                   unsigned int flags, unsigned int *rvalue,
-        *                   void (*fn)(),
-        *                   void (*prep_args)(extended_cif*, unsigned *const));
-        * r3=ecif, r4=bytes, r5=flags, r6=rvalue, r7=fn, r8=prep_args
-        */
-
-.csect .text[PR]
-       .align 2
-       .globl ffi_call_AIX
-       .globl .ffi_call_AIX
-.csect ffi_call_AIX[DS]
-ffi_call_AIX:
-#ifdef __64BIT__
-       .llong .ffi_call_AIX, TOC[tc0], 0
-       .csect .text[PR]
-.ffi_call_AIX:
-       /* Save registers we use.  */
-       mflr    r0
-
-       std     r28,-32(r1)
-       std     r29,-24(r1)
-       std     r30,-16(r1)
-       std     r31, -8(r1)
-
-       std     r0, 16(r1)
-       mr      r28, r1         /* our AP.  */
-       stdux   r1, r1, r4
-
-       /* Save arguments over call...  */
-       mr      r31, r5 /* flags, */
-       mr      r30, r6 /* rvalue, */
-       mr      r29, r7 /* function address.  */
-       std     r2, 40(r1)
-
-       /* Call ffi_prep_args.  */
-       mr      r4, r1
-       bl      .ffi_prep_args
-
-       /* Now do the call.  */
-       ld      r0, 0(r29)
-       ld      r2, 8(r29)
-       ld      r11, 16(r29)
-       /* Set up cr1 with bits 4-7 of the flags.  */
-       mtcrf   0x40, r31
-       mtctr   r0
-       /* Load all those argument registers.  */
-       // We have set up a nice stack frame, just load it into registers.
-       ld      r3, 40+(1*8)(r1)
-       ld      r4, 40+(2*8)(r1)
-       ld      r5, 40+(3*8)(r1)
-       ld      r6, 40+(4*8)(r1)
-       nop
-       ld      r7, 40+(5*8)(r1)
-       ld      r8, 40+(6*8)(r1)
-       ld      r9, 40+(7*8)(r1)
-       ld      r10,40+(8*8)(r1)
-
-L1:
-       /* Load all the FP registers.  */
-       bf      6,L2 // 2f + 0x18
-       lfd     f1,-32-(13*8)(r28)
-       lfd     f2,-32-(12*8)(r28)
-       lfd     f3,-32-(11*8)(r28)
-       lfd     f4,-32-(10*8)(r28)
-       nop
-       lfd     f5,-32-(9*8)(r28)
-       lfd     f6,-32-(8*8)(r28)
-       lfd     f7,-32-(7*8)(r28)
-       lfd     f8,-32-(6*8)(r28)
-       nop
-       lfd     f9,-32-(5*8)(r28)
-       lfd     f10,-32-(4*8)(r28)
-       lfd     f11,-32-(3*8)(r28)
-       lfd     f12,-32-(2*8)(r28)
-       nop
-       lfd     f13,-32-(1*8)(r28)
-
-L2:
-       /* Make the call.  */
-       bctrl
-       ld      r2, 40(r1)
-
-       /* Now, deal with the return value.  */
-       mtcrf   0x01, r31
-
-       bt      30, L(done_return_value)
-       bt      29, L(fp_return_value)
-       std     r3, 0(r30)
-
-       /* Fall through...  */
-
-L(done_return_value):
-       /* Restore the registers we used and return.  */
-       mr      r1, r28
-       ld      r0, 16(r28)
-       ld      r28, -32(r1)
-       mtlr    r0
-       ld      r29, -24(r1)
-       ld      r30, -16(r1)
-       ld      r31, -8(r1)
-       blr
-
-L(fp_return_value):
-       bf      28, L(float_return_value)
-       stfd    f1, 0(r30)
-       bf      31, L(done_return_value)
-       stfd    f2, 8(r30)
-       b       L(done_return_value)
-L(float_return_value):
-       stfs    f1, 0(r30)
-       b       L(done_return_value)
-
-#else /* ! __64BIT__ */
-       
-       .long .ffi_call_AIX, TOC[tc0], 0
-       .csect .text[PR]
-.ffi_call_AIX:
-       /* Save registers we use.  */
-       mflr    r0
-
-       stw     r28,-16(r1)
-       stw     r29,-12(r1)
-       stw     r30, -8(r1)
-       stw     r31, -4(r1)
-
-       stw     r0, 8(r1)
-       mr      r28, r1         /* out AP.  */
-       stwux   r1, r1, r4
-
-       /* Save arguments over call...  */
-       mr      r31, r5 /* flags, */
-       mr      r30, r6 /* rvalue, */
-       mr      r29, r7 /* function address, */
-       stw     r2, 20(r1)
-
-       /* Call ffi_prep_args.  */
-       mr      r4, r1
-       bl      .ffi_prep_args
-
-       /* Now do the call.  */
-       lwz     r0, 0(r29)
-       lwz     r2, 4(r29)
-       lwz     r11, 8(r29)
-       /* Set up cr1 with bits 4-7 of the flags.  */
-       mtcrf   0x40, r31
-       mtctr   r0
-       /* Load all those argument registers.  */
-       // We have set up a nice stack frame, just load it into registers.
-       lwz     r3, 20+(1*4)(r1)
-       lwz     r4, 20+(2*4)(r1)
-       lwz     r5, 20+(3*4)(r1)
-       lwz     r6, 20+(4*4)(r1)
-       nop
-       lwz     r7, 20+(5*4)(r1)
-       lwz     r8, 20+(6*4)(r1)
-       lwz     r9, 20+(7*4)(r1)
-       lwz     r10,20+(8*4)(r1)
-
-L1:
-       /* Load all the FP registers.  */
-       bf      6,L2 // 2f + 0x18
-       lfd     f1,-16-(13*8)(r28)
-       lfd     f2,-16-(12*8)(r28)
-       lfd     f3,-16-(11*8)(r28)
-       lfd     f4,-16-(10*8)(r28)
-       nop
-       lfd     f5,-16-(9*8)(r28)
-       lfd     f6,-16-(8*8)(r28)
-       lfd     f7,-16-(7*8)(r28)
-       lfd     f8,-16-(6*8)(r28)
-       nop
-       lfd     f9,-16-(5*8)(r28)
-       lfd     f10,-16-(4*8)(r28)
-       lfd     f11,-16-(3*8)(r28)
-       lfd     f12,-16-(2*8)(r28)
-       nop
-       lfd     f13,-16-(1*8)(r28)
-
-L2:
-       /* Make the call.  */
-       bctrl
-       lwz     r2, 20(r1)
-
-       /* Now, deal with the return value.  */
-       mtcrf   0x01, r31
-
-       bt      30, L(done_return_value)
-       bt      29, L(fp_return_value)
-       stw     r3, 0(r30)
-       bf      28, L(done_return_value)
-       stw     r4, 4(r30)
-
-       /* Fall through...  */
-
-L(done_return_value):
-       /* Restore the registers we used and return.  */
-       mr      r1, r28
-       lwz     r0, 8(r28)
-       lwz     r28,-16(r1)
-       mtlr    r0
-       lwz     r29,-12(r1)
-       lwz     r30, -8(r1)
-       lwz     r31, -4(r1)
-       blr
-
-L(fp_return_value):
-       bf      28, L(float_return_value)
-       stfd    f1, 0(r30)
-       b       L(done_return_value)
-L(float_return_value):
-       stfs    f1, 0(r30)
-       b       L(done_return_value)
-#endif
-       .long 0
-       .byte 0,0,0,1,128,4,0,0
-//END(ffi_call_AIX)
-
-.csect .text[PR]
-       .align 2
-       .globl ffi_call_DARWIN
-       .globl .ffi_call_DARWIN
-.csect ffi_call_DARWIN[DS]
-ffi_call_DARWIN:
-#ifdef __64BIT__
-       .llong .ffi_call_DARWIN, TOC[tc0], 0
-#else
-       .long .ffi_call_DARWIN, TOC[tc0], 0
-#endif
-       .csect .text[PR]
-.ffi_call_DARWIN:
-       blr
-       .long 0
-       .byte 0,0,0,0,0,0,0,0
-//END(ffi_call_DARWIN)
diff --git a/.pc/aix-ibm-xlc/src/powerpc/aix_closure.S b/.pc/aix-ibm-xlc/src/powerpc/aix_closure.S
deleted file mode 100644 (file)
index 5c74448..0000000
+++ /dev/null
@@ -1,443 +0,0 @@
-/* -----------------------------------------------------------------------
-   aix_closure.S - Copyright (c) 2002, 2003, 2009 Free Software Foundation, Inc.
-   based on darwin_closure.S
-
-   PowerPC Assembly glue.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
-   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-   OTHER DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-       .set r0,0
-       .set r1,1
-       .set r2,2
-       .set r3,3
-       .set r4,4
-       .set r5,5
-       .set r6,6
-       .set r7,7
-       .set r8,8
-       .set r9,9
-       .set r10,10
-       .set r11,11
-       .set r12,12
-       .set r13,13
-       .set r14,14
-       .set r15,15
-       .set r16,16
-       .set r17,17
-       .set r18,18
-       .set r19,19
-       .set r20,20
-       .set r21,21
-       .set r22,22
-       .set r23,23
-       .set r24,24
-       .set r25,25
-       .set r26,26
-       .set r27,27
-       .set r28,28
-       .set r29,29
-       .set r30,30
-       .set r31,31
-       .set f0,0
-       .set f1,1
-       .set f2,2
-       .set f3,3
-       .set f4,4
-       .set f5,5
-       .set f6,6
-       .set f7,7
-       .set f8,8
-       .set f9,9
-       .set f10,10
-       .set f11,11
-       .set f12,12
-       .set f13,13
-       .set f14,14
-       .set f15,15
-       .set f16,16
-       .set f17,17
-       .set f18,18
-       .set f19,19
-       .set f20,20
-       .set f21,21
-
-#define LIBFFI_ASM
-#define JUMPTARGET(name) name
-#define L(x) x
-       .file "aix_closure.S"
-       .toc
-LC..60:
-       .tc L..60[TC],L..60
-       .csect .text[PR]
-       .align 2
-
-.csect .text[PR]
-       .align 2
-       .globl ffi_closure_ASM
-       .globl .ffi_closure_ASM
-.csect ffi_closure_ASM[DS]
-ffi_closure_ASM:
-#ifdef __64BIT__
-       .llong .ffi_closure_ASM, TOC[tc0], 0
-       .csect .text[PR]
-.ffi_closure_ASM:
-/* we want to build up an area for the parameters passed */
-/* in registers (both floating point and integer) */
-
-       /* we store gpr 3 to gpr 10 (aligned to 4)
-       in the parents outgoing area  */
-       std   r3, 48+(0*8)(r1)
-       std   r4, 48+(1*8)(r1)
-       std   r5, 48+(2*8)(r1)
-       std   r6, 48+(3*8)(r1)
-       mflr  r0
-
-       std   r7, 48+(4*8)(r1)
-       std   r8, 48+(5*8)(r1)
-       std   r9, 48+(6*8)(r1)
-       std   r10, 48+(7*8)(r1)
-       std   r0, 16(r1)        /* save the return address */
-
-
-       /* 48  Bytes (Linkage Area) */
-       /* 64  Bytes (params) */
-       /* 16  Bytes (result) */
-       /* 104 Bytes (13*8 from FPR) */
-       /* 8   Bytes (alignment) */
-       /* 240 Bytes */
-
-       stdu  r1, -240(r1)      /* skip over caller save area
-                                  keep stack aligned to 16  */
-
-       /* next save fpr 1 to fpr 13 (aligned to 8) */
-       stfd  f1, 128+(0*8)(r1)
-       stfd  f2, 128+(1*8)(r1)
-       stfd  f3, 128+(2*8)(r1)
-       stfd  f4, 128+(3*8)(r1)
-       stfd  f5, 128+(4*8)(r1)
-       stfd  f6, 128+(5*8)(r1)
-       stfd  f7, 128+(6*8)(r1)
-       stfd  f8, 128+(7*8)(r1)
-       stfd  f9, 128+(8*8)(r1)
-       stfd  f10, 128+(9*8)(r1)
-       stfd  f11, 128+(10*8)(r1)
-       stfd  f12, 128+(11*8)(r1)
-       stfd  f13, 128+(12*8)(r1)
-
-       /* set up registers for the routine that actually does the work */
-       /* get the context pointer from the trampoline */
-       mr r3, r11
-
-       /* now load up the pointer to the result storage */
-       addi r4, r1, 112
-
-       /* now load up the pointer to the saved gpr registers */
-       addi r5, r1, 288
-
-       /* now load up the pointer to the saved fpr registers */
-       addi r6, r1, 128
-
-       /* make the call */
-       bl .ffi_closure_helper_DARWIN
-       nop
-
-       /* now r3 contains the return type */
-       /* so use it to look up in a table */
-       /* so we know how to deal with each type */
-
-       /* look up the proper starting point in table  */
-       /* by using return type as offset */
-       ld      r4, LC..60(2)   /* get address of jump table */
-       sldi    r3, r3, 4       /* now multiply return type by 16 */
-       ld      r0, 240+16(r1)  /* load return address */
-       add     r3, r3, r4      /* add contents of table to table address */
-       mtctr   r3
-       bctr                    /* jump to it */
-
-/* Each fragment must be exactly 16 bytes long (4 instructions).
-   Align to 16 byte boundary for cache and dispatch efficiency.  */
-       .align 4
-
-L..60:
-/* case FFI_TYPE_VOID */
-       mtlr r0
-       addi r1, r1, 240
-       blr
-       nop
-
-/* case FFI_TYPE_INT */
-       lwa r3, 112+4(r1)
-       mtlr r0
-       addi r1, r1, 240
-       blr
-
-/* case FFI_TYPE_FLOAT */
-       lfs f1, 112+0(r1)
-       mtlr r0
-       addi r1, r1, 240
-       blr
-
-/* case FFI_TYPE_DOUBLE */
-       lfd f1, 112+0(r1)
-       mtlr r0
-       addi r1, r1, 240
-       blr
-
-/* case FFI_TYPE_LONGDOUBLE */
-       lfd f1, 112+0(r1)
-       mtlr r0
-       lfd f2, 112+8(r1)
-       b L..finish
-
-/* case FFI_TYPE_UINT8 */
-       lbz r3, 112+7(r1)
-       mtlr r0
-       addi r1, r1, 240
-       blr
-
-/* case FFI_TYPE_SINT8 */
-       lbz r3, 112+7(r1)
-       mtlr r0
-       extsb r3, r3
-       b L..finish
-
-/* case FFI_TYPE_UINT16 */
-       lhz r3, 112+6(r1)
-       mtlr r0
-L..finish:
-       addi r1, r1, 240
-       blr
-
-/* case FFI_TYPE_SINT16 */
-       lha r3, 112+6(r1)
-       mtlr r0
-       addi r1, r1, 240
-       blr
-
-/* case FFI_TYPE_UINT32 */
-       lwz r3, 112+4(r1)
-       mtlr r0
-       addi r1, r1, 240
-       blr
-
-/* case FFI_TYPE_SINT32 */
-       lwa r3, 112+4(r1)
-       mtlr r0
-       addi r1, r1, 240
-       blr
-
-/* case FFI_TYPE_UINT64 */
-       ld r3, 112+0(r1)
-       mtlr r0
-       addi r1, r1, 240
-       blr
-
-/* case FFI_TYPE_SINT64 */
-       ld r3, 112+0(r1)
-       mtlr r0
-       addi r1, r1, 240
-       blr
-
-/* case FFI_TYPE_STRUCT */
-       mtlr r0
-       addi r1, r1, 240
-       blr
-       nop
-
-/* case FFI_TYPE_POINTER */
-       ld r3, 112+0(r1)
-       mtlr r0
-       addi r1, r1, 240
-       blr
-
-#else /* ! __64BIT__ */
-       
-       .long .ffi_closure_ASM, TOC[tc0], 0
-       .csect .text[PR]
-.ffi_closure_ASM:
-/* we want to build up an area for the parameters passed */
-/* in registers (both floating point and integer) */
-
-       /* we store gpr 3 to gpr 10 (aligned to 4)
-       in the parents outgoing area  */
-       stw   r3, 24+(0*4)(r1)
-       stw   r4, 24+(1*4)(r1)
-       stw   r5, 24+(2*4)(r1)
-       stw   r6, 24+(3*4)(r1)
-       mflr  r0
-
-       stw   r7, 24+(4*4)(r1)
-       stw   r8, 24+(5*4)(r1)
-       stw   r9, 24+(6*4)(r1)
-       stw   r10, 24+(7*4)(r1)
-       stw   r0, 8(r1)
-
-       /* 24 Bytes (Linkage Area) */
-       /* 32 Bytes (params) */
-       /* 16  Bytes (result) */
-       /* 104 Bytes (13*8 from FPR) */
-       /* 176 Bytes */
-
-       stwu  r1, -176(r1)      /* skip over caller save area
-                                  keep stack aligned to 16  */
-
-       /* next save fpr 1 to fpr 13 (aligned to 8) */
-       stfd  f1, 72+(0*8)(r1)
-       stfd  f2, 72+(1*8)(r1)
-       stfd  f3, 72+(2*8)(r1)
-       stfd  f4, 72+(3*8)(r1)
-       stfd  f5, 72+(4*8)(r1)
-       stfd  f6, 72+(5*8)(r1)
-       stfd  f7, 72+(6*8)(r1)
-       stfd  f8, 72+(7*8)(r1)
-       stfd  f9, 72+(8*8)(r1)
-       stfd  f10, 72+(9*8)(r1)
-       stfd  f11, 72+(10*8)(r1)
-       stfd  f12, 72+(11*8)(r1)
-       stfd  f13, 72+(12*8)(r1)
-
-       /* set up registers for the routine that actually does the work */
-       /* get the context pointer from the trampoline */
-       mr r3, r11
-
-       /* now load up the pointer to the result storage */
-       addi r4, r1, 56
-
-       /* now load up the pointer to the saved gpr registers */
-       addi r5, r1, 200
-
-       /* now load up the pointer to the saved fpr registers */
-       addi r6, r1, 72
-
-       /* make the call */
-       bl .ffi_closure_helper_DARWIN
-       nop
-
-       /* now r3 contains the return type */
-       /* so use it to look up in a table */
-       /* so we know how to deal with each type */
-
-       /* look up the proper starting point in table  */
-       /* by using return type as offset */
-       lwz     r4, LC..60(2)   /* get address of jump table */
-       slwi    r3, r3, 4       /* now multiply return type by 4 */
-       lwz     r0, 176+8(r1)   /* load return address */
-       add     r3, r3, r4      /* add contents of table to table address */
-       mtctr   r3
-       bctr                    /* jump to it */
-
-/* Each fragment must be exactly 16 bytes long (4 instructions).
-   Align to 16 byte boundary for cache and dispatch efficiency.  */
-       .align 4
-
-L..60:
-/* case FFI_TYPE_VOID */
-       mtlr r0
-       addi r1, r1, 176
-       blr
-       nop
-
-/* case FFI_TYPE_INT */
-       lwz r3, 56+0(r1)
-       mtlr r0
-       addi r1, r1, 176
-       blr
-
-/* case FFI_TYPE_FLOAT */
-       lfs f1, 56+0(r1)
-       mtlr r0
-       addi r1, r1, 176
-       blr
-
-/* case FFI_TYPE_DOUBLE */
-       lfd f1, 56+0(r1)
-       mtlr r0
-       addi r1, r1, 176
-       blr
-
-/* case FFI_TYPE_LONGDOUBLE */
-       lfd f1, 56+0(r1)
-       mtlr r0
-       lfd f2, 56+8(r1)
-       b L..finish
-
-/* case FFI_TYPE_UINT8 */
-       lbz r3, 56+3(r1)
-       mtlr r0
-       addi r1, r1, 176
-       blr
-
-/* case FFI_TYPE_SINT8 */
-       lbz r3, 56+3(r1)
-       mtlr r0
-       extsb r3, r3
-       b L..finish
-
-/* case FFI_TYPE_UINT16 */
-       lhz r3, 56+2(r1)
-       mtlr r0
-       addi r1, r1, 176
-       blr
-
-/* case FFI_TYPE_SINT16 */
-       lha r3, 56+2(r1)
-       mtlr r0
-       addi r1, r1, 176
-       blr
-
-/* case FFI_TYPE_UINT32 */
-       lwz r3, 56+0(r1)
-       mtlr r0
-       addi r1, r1, 176
-       blr
-
-/* case FFI_TYPE_SINT32 */
-       lwz r3, 56+0(r1)
-       mtlr r0
-       addi r1, r1, 176
-       blr
-
-/* case FFI_TYPE_UINT64 */
-       lwz r3, 56+0(r1)
-       mtlr r0
-       lwz r4, 56+4(r1)
-       b L..finish
-
-/* case FFI_TYPE_SINT64 */
-       lwz r3, 56+0(r1)
-       mtlr r0
-       lwz r4, 56+4(r1)
-       b L..finish
-
-/* case FFI_TYPE_STRUCT */
-       mtlr r0
-       addi r1, r1, 176
-       blr
-       nop
-
-/* case FFI_TYPE_POINTER */
-       lwz r3, 56+0(r1)
-       mtlr r0
-L..finish:
-       addi r1, r1, 176
-       blr
-#endif
-/* END(ffi_closure_ASM) */
diff --git a/.pc/alpha/.timestamp b/.pc/alpha/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/alpha/ChangeLog b/.pc/alpha/ChangeLog
deleted file mode 100644 (file)
index 5e200fd..0000000
+++ /dev/null
@@ -1,4749 +0,0 @@
-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  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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * 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.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/alpha/src/alpha/ffi.c b/.pc/alpha/src/alpha/ffi.c
deleted file mode 100644 (file)
index 8d6b2ba..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 1998, 2001, 2007, 2008  Red Hat, Inc.
-   
-   Alpha Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-/* Force FFI_TYPE_LONGDOUBLE to be different than FFI_TYPE_DOUBLE;
-   all further uses in this file will refer to the 128-bit type.  */
-#if defined(__LONG_DOUBLE_128__)
-# if FFI_TYPE_LONGDOUBLE != 4
-#  error FFI_TYPE_LONGDOUBLE out of date
-# endif
-#else
-# undef FFI_TYPE_LONGDOUBLE
-# define FFI_TYPE_LONGDOUBLE 4
-#endif
-
-extern void ffi_call_osf(void *, unsigned long, unsigned, void *, void (*)(void))
-  FFI_HIDDEN;
-extern void ffi_closure_osf(void) FFI_HIDDEN;
-
-
-ffi_status
-ffi_prep_cif_machdep(ffi_cif *cif)
-{
-  /* Adjust cif->bytes to represent a minimum 6 words for the temporary
-     register argument loading area.  */
-  if (cif->bytes < 6*FFI_SIZEOF_ARG)
-    cif->bytes = 6*FFI_SIZEOF_ARG;
-
-  /* Set the return type flag */
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_STRUCT:
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-      cif->flags = cif->rtype->type;
-      break;
-
-    case FFI_TYPE_LONGDOUBLE:
-      /* 128-bit long double is returned in memory, like a struct.  */
-      cif->flags = FFI_TYPE_STRUCT;
-      break;
-
-    default:
-      cif->flags = FFI_TYPE_INT;
-      break;
-    }
-  
-  return FFI_OK;
-}
-
-
-void
-ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  unsigned long *stack, *argp;
-  long i, avn;
-  ffi_type **arg_types;
-  
-  /* If the return value is a struct and we don't have a return
-     value address then we need to make one.  */
-  if (rvalue == NULL && cif->flags == FFI_TYPE_STRUCT)
-    rvalue = alloca(cif->rtype->size);
-
-  /* Allocate the space for the arguments, plus 4 words of temp
-     space for ffi_call_osf.  */
-  argp = stack = alloca(cif->bytes + 4*FFI_SIZEOF_ARG);
-
-  if (cif->flags == FFI_TYPE_STRUCT)
-    *(void **) argp++ = rvalue;
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  while (i < avn)
-    {
-      size_t size = (*arg_types)->size;
-
-      switch ((*arg_types)->type)
-       {
-       case FFI_TYPE_SINT8:
-         *(SINT64 *) argp = *(SINT8 *)(* avalue);
-         break;
-                 
-       case FFI_TYPE_UINT8:
-         *(SINT64 *) argp = *(UINT8 *)(* avalue);
-         break;
-                 
-       case FFI_TYPE_SINT16:
-         *(SINT64 *) argp = *(SINT16 *)(* avalue);
-         break;
-                 
-       case FFI_TYPE_UINT16:
-         *(SINT64 *) argp = *(UINT16 *)(* avalue);
-         break;
-                 
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_UINT32:
-         /* Note that unsigned 32-bit quantities are sign extended.  */
-         *(SINT64 *) argp = *(SINT32 *)(* avalue);
-         break;
-                 
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_POINTER:
-         *(UINT64 *) argp = *(UINT64 *)(* avalue);
-         break;
-
-       case FFI_TYPE_FLOAT:
-         if (argp - stack < 6)
-           {
-             /* Note the conversion -- all the fp regs are loaded as
-                doubles.  The in-register format is the same.  */
-             *(double *) argp = *(float *)(* avalue);
-           }
-         else
-           *(float *) argp = *(float *)(* avalue);
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         *(double *) argp = *(double *)(* avalue);
-         break;
-
-       case FFI_TYPE_LONGDOUBLE:
-         /* 128-bit long double is passed by reference.  */
-         *(long double **) argp = (long double *)(* avalue);
-         size = sizeof (long double *);
-         break;
-
-       case FFI_TYPE_STRUCT:
-         memcpy(argp, *avalue, (*arg_types)->size);
-         break;
-
-       default:
-         FFI_ASSERT(0);
-       }
-
-      argp += ALIGN(size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-      i++, arg_types++, avalue++;
-    }
-
-  ffi_call_osf(stack, cif->bytes, cif->flags, rvalue, fn);
-}
-
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif*, void*, void**, void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  unsigned int *tramp;
-
-  tramp = (unsigned int *) &closure->tramp[0];
-  tramp[0] = 0x47fb0401;       /* mov $27,$1           */
-  tramp[1] = 0xa77b0010;       /* ldq $27,16($27)      */
-  tramp[2] = 0x6bfb0000;       /* jmp $31,($27),0      */
-  tramp[3] = 0x47ff041f;       /* nop                  */
-  *(void **) &tramp[4] = ffi_closure_osf;
-
-  closure->cif = cif;
-  closure->fun = fun;
-  closure->user_data = user_data;
-
-  /* Flush the Icache.
-
-     Tru64 UNIX as doesn't understand the imb mnemonic, so use call_pal
-     instead, since both Compaq as and gas can handle it.
-
-     0x86 is PAL_imb in Tru64 UNIX <alpha/pal.h>.  */
-  asm volatile ("call_pal 0x86" : : : "memory");
-
-  return FFI_OK;
-}
-
-
-long FFI_HIDDEN
-ffi_closure_osf_inner(ffi_closure *closure, void *rvalue, unsigned long *argp)
-{
-  ffi_cif *cif;
-  void **avalue;
-  ffi_type **arg_types;
-  long i, avn, argn;
-
-  cif = closure->cif;
-  avalue = alloca(cif->nargs * sizeof(void *));
-
-  argn = 0;
-
-  /* Copy the caller's structure return address to that the closure
-     returns the data directly to the caller.  */
-  if (cif->flags == FFI_TYPE_STRUCT)
-    {
-      rvalue = (void *) argp[0];
-      argn = 1;
-    }
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-  
-  /* Grab the addresses of the arguments from the stack frame.  */
-  while (i < avn)
-    {
-      size_t size = arg_types[i]->size;
-
-      switch (arg_types[i]->type)
-       {
-       case FFI_TYPE_SINT8:
-       case FFI_TYPE_UINT8:
-       case FFI_TYPE_SINT16:
-       case FFI_TYPE_UINT16:
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_UINT32:
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_POINTER:
-       case FFI_TYPE_STRUCT:
-         avalue[i] = &argp[argn];
-         break;
-
-       case FFI_TYPE_FLOAT:
-         if (argn < 6)
-           {
-             /* Floats coming from registers need conversion from double
-                back to float format.  */
-             *(float *)&argp[argn - 6] = *(double *)&argp[argn - 6];
-             avalue[i] = &argp[argn - 6];
-           }
-         else
-           avalue[i] = &argp[argn];
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         avalue[i] = &argp[argn - (argn < 6 ? 6 : 0)];
-         break;
-
-       case FFI_TYPE_LONGDOUBLE:
-         /* 128-bit long double is passed by reference.  */
-         avalue[i] = (long double *) argp[argn];
-         size = sizeof (long double *);
-         break;
-
-       default:
-         abort ();
-       }
-
-      argn += ALIGN(size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-      i++;
-    }
-
-  /* Invoke the closure.  */
-  closure->fun (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell ffi_closure_osf how to perform return type promotions.  */
-  return cif->rtype->type;
-}
diff --git a/.pc/amiga/.timestamp b/.pc/amiga/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/amiga/ChangeLog b/.pc/amiga/ChangeLog
deleted file mode 100644 (file)
index 4aa07e7..0000000
+++ /dev/null
@@ -1,4744 +0,0 @@
-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  Anthony Green  <green@moxielogic.com>
-           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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * 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.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/amiga/README b/.pc/amiga/README
deleted file mode 100644 (file)
index 46969cc..0000000
+++ /dev/null
@@ -1,345 +0,0 @@
-Status
-======
-
-libffi-3.0.11 was released on *****************. Check the libffi web
-page for updates: <URL:http://sourceware.org/libffi/>.
-
-
-What is libffi?
-===============
-
-Compilers for high level languages generate code that follow certain
-conventions. These conventions are necessary, in part, for separate
-compilation to work. One such convention is the "calling
-convention". The "calling convention" is essentially a set of
-assumptions made by the compiler about where function arguments will
-be found on entry to a function. A "calling convention" also specifies
-where the return value for a function is found.
-
-Some programs may not know at the time of compilation what arguments
-are to be passed to a function. For instance, an interpreter may be
-told at run-time about the number and types of arguments used to call
-a given function. Libffi can be used in such programs to provide a
-bridge from the interpreter program to compiled code.
-
-The libffi library provides a portable, high level programming
-interface to various calling conventions. This allows a programmer to
-call any function specified by a call interface description at run
-time.  
-
-FFI stands for Foreign Function Interface.  A foreign function
-interface is the popular name for the interface that allows code
-written in one language to call code written in another language. The
-libffi library really only provides the lowest, machine dependent
-layer of a fully featured foreign function interface. A layer must
-exist above libffi that handles type conversions for values passed
-between the two languages.
-
-
-Supported Platforms
-===================
-
-Libffi has been ported to many different platforms.
-For specific configuration details and testing status, please
-refer to the wiki page here:
-
- http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.11
-
-At the time of release, the following basic configurations have been
-tested:
-
-|--------------+------------------|
-| Architecture | Operating System |
-|--------------+------------------|
-| Alpha        | Linux            |
-| Alpha        | Tru64            |
-| ARM          | Linux            |
-| ARM          | iOS              |
-| AVR32        | Linux            |
-| HPPA         | HPUX             |
-| IA-64        | Linux            |
-| M68K         | RTEMS            |
-| MIPS         | IRIX             |
-| MIPS         | Linux            |
-| MIPS         | RTEMS            |
-| MIPS64       | Linux            |
-| PowerPC      | Linux            |
-| PowerPC      | Mac OSX          |
-| PowerPC      | FreeBSD          |
-| PowerPC64    | Linux            |
-| S390         | Linux            |
-| S390X        | Linux            |
-| SPARC        | Linux            |
-| SPARC        | Solaris          |
-| SPARC64      | Linux            |
-| SPARC64      | FreeBSD          |
-| X86          | FreeBSD          |
-| X86          | Interix          |
-| X86          | kFreeBSD         |
-| X86          | Linux            |
-| X86          | Mac OSX          |
-| X86          | OpenBSD          |
-| X86          | OS/2             |
-| X86          | Solaris          |
-| X86          | Windows/Cygwin   |
-| X86          | Windows/MingW    |
-| X86-64       | FreeBSD          |
-| X86-64       | Linux            |
-| X86-64       | OpenBSD          |
-| X86-64       | Windows/MingW    |
-|--------------+------------------|
-
-Please send additional platform test results to
-libffi-discuss@sourceware.org and feel free to update the wiki page
-above.
-
-Installing libffi
-=================
-
-First you must configure the distribution for your particular
-system. Go to the directory you wish to build libffi in and run the
-"configure" program found in the root directory of the libffi source
-distribution.
-
-You may want to tell configure where to install the libffi library and
-header files. To do that, use the --prefix configure switch.  Libffi
-will install under /usr/local by default. 
-
-If you want to enable extra run-time debugging checks use the the
---enable-debug configure switch. This is useful when your program dies
-mysteriously while using libffi. 
-
-Another useful configure switch is --enable-purify-safety. Using this
-will add some extra code which will suppress certain warnings when you
-are using Purify with libffi. Only use this switch when using 
-Purify, as it will slow down the library.
-
-It's also possible to build libffi on Windows platforms with
-Microsoft's Visual C++ compiler.  In this case, use the msvcc.sh
-wrapper script during configuration like so:
-
-path/to/configure CC=path/to/msvcc.sh LD=link CPP=\"cl -nologo -EP\"
-
-For 64-bit Windows builds, use CC="path/to/msvcc.sh -m64".
-You may also need to specify --build appropriately. When building with MSVC
-under a MingW environment, you may need to remove the line in configure
-that sets 'fix_srcfile_path' to a 'cygpath' command. ('cygpath' is not
-present in MingW, and is not required when using MingW-style paths.)
-
-For iOS builds, refer to the build-ios.sh script for guidance.
-
-Configure has many other options. Use "configure --help" to see them all.
-
-Once configure has finished, type "make". Note that you must be using
-GNU make.  You can ftp GNU make from prep.ai.mit.edu:/pub/gnu.
-
-To ensure that libffi is working as advertised, type "make check".
-This will require that you have DejaGNU installed.
-
-To install the library and header files, type "make install".
-
-
-History
-=======
-
-See the ChangeLog files for details.
-
-3.0.11 MMM-DD-YY
-        ??????????
-
-3.0.10 Aug-23-11
-        Add support for Apple's iOS.
-       Add support for ARM VFP ABI.
-        Add RTEMS support for MIPS and M68K.
-       Fix instruction cache clearing problems on
-         ARM and SPARC.
-       Fix the N64 build on mips-sgi-irix6.5.
-       Enable builds with Microsoft's compiler.
-       Enable x86 builds with Oracle's Solaris compiler.
-       Fix support for calling code compiled with Oracle's Sparc
-         Solaris compiler.
-       Testsuite fixes for Tru64 Unix.
-       Additional platform support.
-
-3.0.9 Dec-31-09
-        Add AVR32 and win64 ports.  Add ARM softfp support.
-       Many fixes for AIX, Solaris, HP-UX, *BSD.
-       Several PowerPC and x86-64 bug fixes.
-       Build DLL for windows.
-
-3.0.8 Dec-19-08
-        Add *BSD, BeOS, and PA-Linux support.
-
-3.0.7 Nov-11-08
-        Fix for ppc FreeBSD.
-       (thanks to Andreas Tobler)
-
-3.0.6 Jul-17-08
-        Fix for closures on sh.
-       Mark the sh/sh64 stack as non-executable.
-       (both thanks to Kaz Kojima)
-
-3.0.5 Apr-3-08
-        Fix libffi.pc file.
-       Fix #define ARM for IcedTea users.
-       Fix x86 closure bug.
-
-3.0.4 Feb-24-08
-        Fix x86 OpenBSD configury.
-
-3.0.3 Feb-22-08
-        Enable x86 OpenBSD thanks to Thomas Heller, and
-       x86-64 FreeBSD thanks to Björn König and Andreas Tobler.
-       Clean up test instruction in README.
-
-3.0.2 Feb-21-08
-        Improved x86 FreeBSD support.
-       Thanks to Björn König.
-
-3.0.1 Feb-15-08
-        Fix instruction cache flushing bug on MIPS.
-       Thanks to David Daney.
-
-3.0.0 Feb-15-08
-        Many changes, mostly thanks to the GCC project.
-       Cygnus Solutions is now Red Hat.
-
-  [10 years go by...]
-
-1.20 Oct-5-98
-       Raffaele Sena produces ARM port.
-
-1.19 Oct-5-98
-       Fixed x86 long double and long long return support.
-       m68k bug fixes from Andreas Schwab.
-       Patch for DU assembler compatibility for the Alpha from Richard
-       Henderson.
-
-1.18 Apr-17-98
-       Bug fixes and MIPS configuration changes.
-
-1.17 Feb-24-98
-       Bug fixes and m68k port from Andreas Schwab. PowerPC port from
-       Geoffrey Keating. Various bug x86, Sparc and MIPS bug fixes.
-
-1.16 Feb-11-98
-       Richard Henderson produces Alpha port.
-
-1.15 Dec-4-97
-       Fixed an n32 ABI bug. New libtool, auto* support.
-
-1.14 May-13-97
-       libtool is now used to generate shared and static libraries.
-       Fixed a minor portability problem reported by Russ McManus
-       <mcmanr@eq.gs.com>.
-
-1.13 Dec-2-96
-       Added --enable-purify-safety to keep Purify from complaining
-       about certain low level code.
-       Sparc fix for calling functions with < 6 args.
-       Linux x86 a.out fix.
-
-1.12 Nov-22-96
-       Added missing ffi_type_void, needed for supporting void return 
-       types. Fixed test case for non MIPS machines. Cygnus Support 
-       is now Cygnus Solutions. 
-
-1.11 Oct-30-96
-       Added notes about GNU make.
-
-1.10 Oct-29-96
-       Added configuration fix for non GNU compilers.
-
-1.09 Oct-29-96
-       Added --enable-debug configure switch. Clean-ups based on LCLint 
-       feedback. ffi_mips.h is always installed. Many configuration 
-       fixes. Fixed ffitest.c for sparc builds.
-
-1.08 Oct-15-96
-       Fixed n32 problem. Many clean-ups.
-
-1.07 Oct-14-96
-       Gordon Irlam rewrites v8.S again. Bug fixes.
-
-1.06 Oct-14-96
-       Gordon Irlam improved the sparc port. 
-
-1.05 Oct-14-96
-       Interface changes based on feedback.
-
-1.04 Oct-11-96
-       Sparc port complete (modulo struct passing bug).
-
-1.03 Oct-10-96
-       Passing struct args, and returning struct values works for
-       all architectures/calling conventions. Expanded tests.
-
-1.02 Oct-9-96
-       Added SGI n32 support. Fixed bugs in both o32 and Linux support.
-       Added "make test".
-
-1.01 Oct-8-96
-       Fixed float passing bug in mips version. Restructured some
-       of the code. Builds cleanly with SGI tools.
-
-1.00 Oct-7-96
-       First release. No public announcement.
-
-
-Authors & Credits
-=================
-
-libffi was originally written by Anthony Green <green@redhat.com>.
-
-The developers of the GNU Compiler Collection project have made
-innumerable valuable contributions.  See the ChangeLog file for
-details.
-
-Some of the ideas behind libffi were inspired by Gianni Mariani's free
-gencall library for Silicon Graphics machines.
-
-The closure mechanism was designed and implemented by Kresten Krab
-Thorup.
-
-Major processor architecture ports were contributed by the following
-developers:
-
-alpha          Richard Henderson
-arm            Raffaele Sena
-cris           Simon Posnjak, Hans-Peter Nilsson
-frv            Anthony Green
-ia64           Hans Boehm
-m32r           Kazuhiro Inaoka
-m68k           Andreas Schwab
-mips           Anthony Green, Casey Marshall
-mips64         David Daney
-pa             Randolph Chung, Dave Anglin, Andreas Tobler
-powerpc                Geoffrey Keating, Andreas Tobler, 
-                        David Edelsohn, John Hornkvist
-powerpc64      Jakub Jelinek
-s390           Gerhard Tonn, Ulrich Weigand
-sh             Kaz Kojima
-sh64           Kaz Kojima
-sparc          Anthony Green, Gordon Irlam
-x86            Anthony Green, Jon Beniston
-x86-64         Bo Thorsen
-
-Jesper Skov and Andrew Haley both did more than their fair share of
-stepping through the code and tracking down bugs.
-
-Thanks also to Tom Tromey for bug fixes, documentation and
-configuration help.
-
-Thanks to Jim Blandy, who provided some useful feedback on the libffi
-interface.
-
-Andreas Tobler has done a tremendous amount of work on the testsuite.
-
-Alex Oliva solved the executable page problem for SElinux.
-
-The list above is almost certainly incomplete and inaccurate.  I'm
-happy to make corrections or additions upon request.
-
-If you have a problem, or have found a bug, please send a note to the
-author at green@moxielogic.com, or the project mailing list at
-libffi-discuss@sourceware.org.
diff --git a/.pc/amiga/configure b/.pc/amiga/configure
deleted file mode 100755 (executable)
index 73a60ef..0000000
+++ /dev/null
@@ -1,16062 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-FFI_EXEC_TRAMPOLINE_TABLE
-FFI_EXEC_TRAMPOLINE_TABLE_FALSE
-FFI_EXEC_TRAMPOLINE_TABLE_TRUE
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/libffi]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer
-  --enable-debug          debugging mode
-  --disable-structs       omit code for struct support
-  --disable-raw-api       make the raw api unavailable
-  --enable-purify-safety  purify-safe mode
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CCAS        assembler compiler command (defaults to CC)
-  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if test "$cross_compiling" = yes; then
-    # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid; break
-else
-  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
-                       if test $ac_lo -le $ac_mid; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=$ac_mid; break
-else
-  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid
-else
-  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (($2) < 0)
-    {
-      long int i = longval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
-  ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
-  fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CCAS_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CCAS_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
-  am__fastdepCCAS_TRUE=
-  am__fastdepCCAS_FALSE='#'
-else
-  am__fastdepCCAS_TRUE='#'
-  am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
-   if test "$GCC" = yes; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
-           ;;
-         ppc64-*linux*|powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         ppc*-*linux*|powerpc*-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
-        enable_dlopen=no
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl='-Wl,-Wl,,'
-       lt_prog_compiler_pic='-PIC'
-       lt_prog_compiler_static='-Bstatic'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ F* | *Sun*Fortran*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec=
-         hardcode_libdir_flag_spec_ld='-rpath $libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       always_export_symbols=yes
-       file_list_spec='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-       enable_shared_with_static_runtimes=yes
-       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds='chmod 644 $oldlib'
-       postlink_cmds='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_flag_spec_ld='+b $libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-       fi
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec="$LIB"
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
-else
-  libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
-else
-  ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
-       ac_cv_func_mmap_anon=no ;;
-     *)
-       ac_cv_func_mmap_anon=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
-   fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
-  TESTSUBDIR_TRUE=
-  TESTSUBDIR_FALSE='#'
-else
-  TESTSUBDIR_TRUE='#'
-  TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[0-9]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux* | mips*-*-openbsd*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin* | powerpc64-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd* | powerpc-*-openbsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
-  powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[34]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
-  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
-  MIPS_TRUE=
-  MIPS_FALSE='#'
-else
-  MIPS_TRUE='#'
-  MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
-  SPARC_TRUE=
-  SPARC_FALSE='#'
-else
-  SPARC_TRUE='#'
-  SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
-  X86_TRUE=
-  X86_FALSE='#'
-else
-  X86_TRUE='#'
-  X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
-  X86_FREEBSD_TRUE=
-  X86_FREEBSD_FALSE='#'
-else
-  X86_FREEBSD_TRUE='#'
-  X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
-  X86_WIN32_TRUE=
-  X86_WIN32_FALSE='#'
-else
-  X86_WIN32_TRUE='#'
-  X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
-  X86_WIN64_TRUE=
-  X86_WIN64_FALSE='#'
-else
-  X86_WIN64_TRUE='#'
-  X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
-  X86_DARWIN_TRUE=
-  X86_DARWIN_FALSE='#'
-else
-  X86_DARWIN_TRUE='#'
-  X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
-  ALPHA_TRUE=
-  ALPHA_FALSE='#'
-else
-  ALPHA_TRUE='#'
-  ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
-  IA64_TRUE=
-  IA64_FALSE='#'
-else
-  IA64_TRUE='#'
-  IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
-  M32R_TRUE=
-  M32R_FALSE='#'
-else
-  M32R_TRUE='#'
-  M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
-  M68K_TRUE=
-  M68K_FALSE='#'
-else
-  M68K_TRUE='#'
-  M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
-  MOXIE_TRUE=
-  MOXIE_FALSE='#'
-else
-  MOXIE_TRUE='#'
-  MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
-  POWERPC_TRUE=
-  POWERPC_FALSE='#'
-else
-  POWERPC_TRUE='#'
-  POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
-  POWERPC_AIX_TRUE=
-  POWERPC_AIX_FALSE='#'
-else
-  POWERPC_AIX_TRUE='#'
-  POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
-  POWERPC_DARWIN_TRUE=
-  POWERPC_DARWIN_FALSE='#'
-else
-  POWERPC_DARWIN_TRUE='#'
-  POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
-  POWERPC_FREEBSD_TRUE=
-  POWERPC_FREEBSD_FALSE='#'
-else
-  POWERPC_FREEBSD_TRUE='#'
-  POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
-  ARM_TRUE=
-  ARM_FALSE='#'
-else
-  ARM_TRUE='#'
-  ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
-  AVR32_TRUE=
-  AVR32_FALSE='#'
-else
-  AVR32_TRUE='#'
-  AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
-  LIBFFI_CRIS_TRUE=
-  LIBFFI_CRIS_FALSE='#'
-else
-  LIBFFI_CRIS_TRUE='#'
-  LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
-  FRV_TRUE=
-  FRV_FALSE='#'
-else
-  FRV_TRUE='#'
-  FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
-  S390_TRUE=
-  S390_FALSE='#'
-else
-  S390_TRUE='#'
-  S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
-  X86_64_TRUE=
-  X86_64_FALSE='#'
-else
-  X86_64_TRUE='#'
-  X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
-  SH_TRUE=
-  SH_FALSE='#'
-else
-  SH_TRUE='#'
-  SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
-  SH64_TRUE=
-  SH64_FALSE='#'
-else
-  SH64_TRUE='#'
-  SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
-  PA_LINUX_TRUE=
-  PA_LINUX_FALSE='#'
-else
-  PA_LINUX_TRUE='#'
-  PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
-  PA_HPUX_TRUE=
-  PA_HPUX_FALSE='#'
-else
-  PA_HPUX_TRUE='#'
-  PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
-  PA64_HPUX_TRUE=
-  PA64_HPUX_FALSE='#'
-else
-  PA64_HPUX_TRUE='#'
-  PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
-  ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
-                                   if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
-    break
-fi
-
-  done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_long_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
-    fi
-  fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    gcc_cv_as_cfi_pseudo_op=unknown
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gcc_cv_as_cfi_pseudo_op=yes
-else
-  gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  libffi_cv_as_sparc_ua_pcrel=yes
-else
-  libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_register_pseudo_op=yes
-else
-  libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_ascii_pseudo_op=yes
-else
-  libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_string_pseudo_op=yes
-else
-  libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sys_symbol_underscore=no
-  cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    ac_nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$ac_nlist"; then
-      # See whether the symbols have a leading underscore.
-      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
-        lt_cv_sys_symbol_underscore=yes
-      else
-        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
-         :
-        else
-         echo "configure: cannot find nm_test_func in $ac_nlist" >&5
-        fi
-      fi
-    else
-      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "configure: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
-  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
-    if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
-    fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
-     *arm*-apple-darwin*)
-       FFI_EXEC_TRAMPOLINE_TABLE=1
-
-$as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
-
-     ;;
-     *-apple-darwin1[10]* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
-     ;;
-esac
- if test x$FFI_EXEC_TRAMPOLINE_TABLE = x1; then
-  FFI_EXEC_TRAMPOLINE_TABLE_TRUE=
-  FFI_EXEC_TRAMPOLINE_TABLE_FALSE='#'
-else
-  FFI_EXEC_TRAMPOLINE_TABLE_TRUE='#'
-  FFI_EXEC_TRAMPOLINE_TABLE_FALSE=
-fi
-
-
-
-if test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-  else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-  fi
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
-  enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
-  fi
-fi
-
- if test "$enable_debug" = "yes"; then
-  FFI_DEBUG_TRUE=
-  FFI_DEBUG_FALSE='#'
-else
-  FFI_DEBUG_TRUE='#'
-  FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
-  enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
-  enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
-  enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
-  fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
-  as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
-  as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
-  as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
-  as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
-  as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
-  as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
-  as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
-  as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
-  as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
-  as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
-  as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
-  as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
-  as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
-  as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
-  as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
-  as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_EXEC_TRAMPOLINE_TABLE_TRUE}" && test -z "${FFI_EXEC_TRAMPOLINE_TABLE_FALSE}"; then
-  as_fn_error $? "conditional \"FFI_EXEC_TRAMPOLINE_TABLE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
-  as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
-    "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
-    "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
-    "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
-    "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
-    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
-    "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS  :L $CONFIG_LINKS  :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-  :L)
-  #
-  # CONFIG_LINK
-  #
-
-  if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
-    :
-  else
-    # Prefer the file from the source tree if names are identical.
-    if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
-      ac_source=$srcdir/$ac_source
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
-    if test ! -r "$ac_source"; then
-      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
-    fi
-    rm -f "$ac_file"
-
-    # Try a relative symlink, then a hard link, then a copy.
-    case $ac_source in
-    [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
-       *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
-    esac
-    ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
-      ln "$ac_source" "$ac_file" 2>/dev/null ||
-      cp -p "$ac_source" "$ac_file" ||
-      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
-  fi
- ;;
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-    "include":C) test -d include || mkdir include ;;
-    "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/amiga/configure.ac b/.pc/amiga/configure.ac
deleted file mode 100644 (file)
index 731f5fe..0000000
+++ /dev/null
@@ -1,499 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux* | mips*-*-openbsd*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin* | powerpc64-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd* | powerpc-*-openbsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
-  powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    LT_SYS_SYMBOL_USCORE
-    if test "x$sys_symbol_underscore" = xyes; then
-        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-    fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
-     *arm*-apple-darwin*)
-       FFI_EXEC_TRAMPOLINE_TABLE=1
-       AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
-                 [Cannot use PROT_EXEC on this target, so, we revert to
-                   alternative means])
-     ;;
-     *-apple-darwin1[[10]]* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-      libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-      AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-      AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  else
-      AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  fi
-
-  AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-      libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-      AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-  fi
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
index 8993602..e8c461f 100644 (file)
@@ -1,47 +1 @@
 stand-alone
-msvcc-warning
-ffi_last_abi
-win64-struct-args
-stdcall-x86-closure-fix
-ml64-safeseh
-debug-build
-win64-underscore
-x86_pcrel_test
-aix-ibm-xlc
-fix-grammar
-sparc-v8-aggregate-returns
-hpux-mallinfo
-copyright-updates
-ios
-fix-xfails
-interix
-ppc64-darwin
-irix
-sparc-abi-check
-ungccify
-ios-fixes
-bad-abi-fix
-msvcc
-fix_maxopt
-fix-ppc32
-darwin-EH-fix
-more-openbsd
-more-openbsd-mips
-darwin11
-powerpc-sysv-without-string-ops
-windows-ce-arm
-kfreebsd-mmap
-minix
-interix-patch
-remove-debug-code
-powerpc-ffi-softfloat
-variadic
-m68k-patches
-unlikely
-amiga
-alpha
-autoconf-archive-update
-ffitarget-include-fix
-no-undefined-fix
-x86_abi_check_fix
-x32-abi
diff --git a/.pc/autoconf-archive-update/.timestamp b/.pc/autoconf-archive-update/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/autoconf-archive-update/Makefile.in b/.pc/autoconf-archive-update/Makefile.in
deleted file mode 100644 (file)
index 861a5b2..0000000
+++ /dev/null
@@ -1,1836 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-@FFI_DEBUG_TRUE@am__append_1 = src/debug.c
-@MIPS_TRUE@am__append_2 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-@X86_TRUE@am__append_3 = src/x86/ffi.c src/x86/sysv.S
-@X86_FREEBSD_TRUE@am__append_4 = src/x86/ffi.c src/x86/freebsd.S
-@X86_WIN32_TRUE@am__append_5 = src/x86/ffi.c src/x86/win32.S
-@X86_WIN64_TRUE@am__append_6 = src/x86/ffi.c src/x86/win64.S
-@X86_DARWIN_TRUE@am__append_7 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-@SPARC_TRUE@am__append_8 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-@ALPHA_TRUE@am__append_9 = src/alpha/ffi.c src/alpha/osf.S
-@IA64_TRUE@am__append_10 = src/ia64/ffi.c src/ia64/unix.S
-@M32R_TRUE@am__append_11 = src/m32r/sysv.S src/m32r/ffi.c
-@M68K_TRUE@am__append_12 = src/m68k/ffi.c src/m68k/sysv.S
-@POWERPC_TRUE@am__append_13 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-@POWERPC_AIX_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-@POWERPC_DARWIN_TRUE@am__append_15 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-@POWERPC_FREEBSD_TRUE@am__append_16 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-@ARM_TRUE@am__append_17 = src/arm/sysv.S src/arm/ffi.c
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_18 = src/arm/trampoline.S
-@AVR32_TRUE@am__append_19 = src/avr32/sysv.S src/avr32/ffi.c
-@LIBFFI_CRIS_TRUE@am__append_20 = src/cris/sysv.S src/cris/ffi.c
-@FRV_TRUE@am__append_21 = src/frv/eabi.S src/frv/ffi.c
-@MOXIE_TRUE@am__append_22 = src/moxie/eabi.S src/moxie/ffi.c
-@S390_TRUE@am__append_23 = src/s390/sysv.S src/s390/ffi.c
-@X86_64_TRUE@am__append_24 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-@SH_TRUE@am__append_25 = src/sh/sysv.S src/sh/ffi.c
-@SH64_TRUE@am__append_26 = src/sh64/sysv.S src/sh64/ffi.c
-@PA_LINUX_TRUE@am__append_27 = src/pa/linux.S src/pa/ffi.c
-@PA_HPUX_TRUE@am__append_28 = src/pa/hpux32.S src/pa/ffi.c
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-@FFI_DEBUG_TRUE@am__append_29 = -DFFI_DEBUG
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
-       $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
-       $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
-       compile config.guess config.sub depcomp install-sh ltmain.sh \
-       mdate-sh missing texinfo.tex
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
-       $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = fficonfig.h
-CONFIG_CLEAN_FILES = libffi.pc
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" \
-       "$(DESTDIR)$(pkgconfigdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-libffi_la_LIBADD =
-am__dirstamp = $(am__leading_dot)dirstamp
-am_libffi_la_OBJECTS = src/prep_cif.lo src/types.lo src/raw_api.lo \
-       src/java_raw_api.lo src/closures.lo
-@FFI_DEBUG_TRUE@am__objects_1 = src/debug.lo
-@MIPS_TRUE@am__objects_2 = src/mips/ffi.lo src/mips/o32.lo \
-@MIPS_TRUE@    src/mips/n32.lo
-@X86_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/sysv.lo
-@X86_FREEBSD_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/freebsd.lo
-@X86_WIN32_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win32.lo
-@X86_WIN64_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/win64.lo
-@X86_DARWIN_TRUE@am__objects_7 = src/x86/ffi.lo src/x86/darwin.lo \
-@X86_DARWIN_TRUE@      src/x86/ffi64.lo src/x86/darwin64.lo
-@SPARC_TRUE@am__objects_8 = src/sparc/ffi.lo src/sparc/v8.lo \
-@SPARC_TRUE@   src/sparc/v9.lo
-@ALPHA_TRUE@am__objects_9 = src/alpha/ffi.lo src/alpha/osf.lo
-@IA64_TRUE@am__objects_10 = src/ia64/ffi.lo src/ia64/unix.lo
-@M32R_TRUE@am__objects_11 = src/m32r/sysv.lo src/m32r/ffi.lo
-@M68K_TRUE@am__objects_12 = src/m68k/ffi.lo src/m68k/sysv.lo
-@POWERPC_TRUE@am__objects_13 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
-@POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
-@POWERPC_TRUE@ src/powerpc/linux64.lo \
-@POWERPC_TRUE@ src/powerpc/linux64_closure.lo
-@POWERPC_AIX_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
-@POWERPC_AIX_TRUE@     src/powerpc/aix.lo \
-@POWERPC_AIX_TRUE@     src/powerpc/aix_closure.lo
-@POWERPC_DARWIN_TRUE@am__objects_15 = src/powerpc/ffi_darwin.lo \
-@POWERPC_DARWIN_TRUE@  src/powerpc/darwin.lo \
-@POWERPC_DARWIN_TRUE@  src/powerpc/darwin_closure.lo
-@POWERPC_FREEBSD_TRUE@am__objects_16 = src/powerpc/ffi.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
-@ARM_TRUE@am__objects_17 = src/arm/sysv.lo src/arm/ffi.lo
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_18 = src/arm/trampoline.lo
-@AVR32_TRUE@am__objects_19 = src/avr32/sysv.lo src/avr32/ffi.lo
-@LIBFFI_CRIS_TRUE@am__objects_20 = src/cris/sysv.lo src/cris/ffi.lo
-@FRV_TRUE@am__objects_21 = src/frv/eabi.lo src/frv/ffi.lo
-@MOXIE_TRUE@am__objects_22 = src/moxie/eabi.lo src/moxie/ffi.lo
-@S390_TRUE@am__objects_23 = src/s390/sysv.lo src/s390/ffi.lo
-@X86_64_TRUE@am__objects_24 = src/x86/ffi64.lo src/x86/unix64.lo \
-@X86_64_TRUE@  src/x86/ffi.lo src/x86/sysv.lo
-@SH_TRUE@am__objects_25 = src/sh/sysv.lo src/sh/ffi.lo
-@SH64_TRUE@am__objects_26 = src/sh64/sysv.lo src/sh64/ffi.lo
-@PA_LINUX_TRUE@am__objects_27 = src/pa/linux.lo src/pa/ffi.lo
-@PA_HPUX_TRUE@am__objects_28 = src/pa/hpux32.lo src/pa/ffi.lo
-nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
-       $(am__objects_3) $(am__objects_4) $(am__objects_5) \
-       $(am__objects_6) $(am__objects_7) $(am__objects_8) \
-       $(am__objects_9) $(am__objects_10) $(am__objects_11) \
-       $(am__objects_12) $(am__objects_13) $(am__objects_14) \
-       $(am__objects_15) $(am__objects_16) $(am__objects_17) \
-       $(am__objects_18) $(am__objects_19) $(am__objects_20) \
-       $(am__objects_21) $(am__objects_22) $(am__objects_23) \
-       $(am__objects_24) $(am__objects_25) $(am__objects_26) \
-       $(am__objects_27) $(am__objects_28)
-libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
-       $(nodist_libffi_la_OBJECTS)
-libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
-libffi_convenience_la_LIBADD =
-am__objects_29 = src/prep_cif.lo src/types.lo src/raw_api.lo \
-       src/java_raw_api.lo src/closures.lo
-am_libffi_convenience_la_OBJECTS = $(am__objects_29)
-am__objects_30 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
-       $(am__objects_4) $(am__objects_5) $(am__objects_6) \
-       $(am__objects_7) $(am__objects_8) $(am__objects_9) \
-       $(am__objects_10) $(am__objects_11) $(am__objects_12) \
-       $(am__objects_13) $(am__objects_14) $(am__objects_15) \
-       $(am__objects_16) $(am__objects_17) $(am__objects_18) \
-       $(am__objects_19) $(am__objects_20) $(am__objects_21) \
-       $(am__objects_22) $(am__objects_23) $(am__objects_24) \
-       $(am__objects_25) $(am__objects_26) $(am__objects_27) \
-       $(am__objects_28)
-nodist_libffi_convenience_la_OBJECTS = $(am__objects_30)
-libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
-       $(nodist_libffi_convenience_la_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
-       $(libffi_convenience_la_SOURCES) \
-       $(nodist_libffi_convenience_la_SOURCES)
-DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
-INFO_DEPS = $(srcdir)/doc/libffi.info
-am__TEXINFO_TEX_DIR = $(srcdir)
-DVIS = doc/libffi.dvi
-PDFS = doc/libffi.pdf
-PSS = doc/libffi.ps
-HTMLS = doc/libffi.html
-TEXINFOS = doc/libffi.texi
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-DVIPS = dvips
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-DATA = $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_LTLDFLAGS = @AM_LTLDFLAGS@
-AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASDEPMODE = @CCASDEPMODE@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TARGET = @TARGET@
-TARGETDIR = @TARGETDIR@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign subdir-objects
-SUBDIRS = include testsuite man
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
-       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
-       src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
-       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
-       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
-       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
-       src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
-       src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
-       src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
-       src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
-       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
-       src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
-       src/powerpc/darwin.S src/powerpc/aix_closure.S \
-       src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
-       src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
-       src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
-       src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
-       src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
-       src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
-       src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
-       src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
-       src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
-       src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
-       src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
-       src/moxie/ffi.c src/moxie/eabi.S libtool-version \
-       ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
-       m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 build-ios.sh \
-       m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh src/debug.c \
-       msvcc.sh
-
-info_TEXINFOS = doc/libffi.texi
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
-       "AR_FLAGS=$(AR_FLAGS)" \
-       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
-       "CFLAGS=$(CFLAGS)" \
-       "CXXFLAGS=$(CXXFLAGS)" \
-       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
-       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
-       "INSTALL=$(INSTALL)" \
-       "INSTALL_DATA=$(INSTALL_DATA)" \
-       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
-       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
-       "JC1FLAGS=$(JC1FLAGS)" \
-       "LDFLAGS=$(LDFLAGS)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
-       "MAKE=$(MAKE)" \
-       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
-       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-       "SHELL=$(SHELL)" \
-       "exec_prefix=$(exec_prefix)" \
-       "infodir=$(infodir)" \
-       "libdir=$(libdir)" \
-       "mandir=$(mandir)" \
-       "prefix=$(prefix)" \
-       "AR=$(AR)" \
-       "AS=$(AS)" \
-       "CC=$(CC)" \
-       "CXX=$(CXX)" \
-       "LD=$(LD)" \
-       "NM=$(NM)" \
-       "RANLIB=$(RANLIB)" \
-       "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES = 
-ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-libffi_la_SOURCES = src/prep_cif.c src/types.c \
-               src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
-       $(am__append_3) $(am__append_4) $(am__append_5) \
-       $(am__append_6) $(am__append_7) $(am__append_8) \
-       $(am__append_9) $(am__append_10) $(am__append_11) \
-       $(am__append_12) $(am__append_13) $(am__append_14) \
-       $(am__append_15) $(am__append_16) $(am__append_17) \
-       $(am__append_18) $(am__append_19) $(am__append_20) \
-       $(am__append_21) $(am__append_22) $(am__append_23) \
-       $(am__append_24) $(am__append_25) $(am__append_26) \
-       $(am__append_27) $(am__append_28)
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-AM_CFLAGS = -g $(am__append_29)
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS) -g
-all: fficonfig.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .S .c .dvi .lo .o .obj .ps
-am--refresh:
-       @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
-             $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           echo ' $(SHELL) ./config.status'; \
-           $(SHELL) ./config.status;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-       $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-       $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-fficonfig.h: stamp-h1
-       @if test ! -f $@; then \
-         rm -f stamp-h1; \
-         $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-       else :; fi
-
-stamp-h1: $(srcdir)/fficonfig.h.in $(top_builddir)/config.status
-       @rm -f stamp-h1
-       cd $(top_builddir) && $(SHELL) ./config.status fficonfig.h
-$(srcdir)/fficonfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
-       ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-       rm -f stamp-h1
-       touch $@
-
-distclean-hdr:
-       -rm -f fficonfig.h stamp-h1
-libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-       @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-       list2=; for p in $$list; do \
-         if test -f $$p; then \
-           list2="$$list2 $$p"; \
-         else :; fi; \
-       done; \
-       test -z "$$list2" || { \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
-       }
-
-uninstall-libLTLIBRARIES:
-       @$(NORMAL_UNINSTALL)
-       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
-       done
-
-clean-libLTLIBRARIES:
-       -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-
-clean-noinstLTLIBRARIES:
-       -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-src/$(am__dirstamp):
-       @$(MKDIR_P) src
-       @: > src/$(am__dirstamp)
-src/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/$(DEPDIR)
-       @: > src/$(DEPDIR)/$(am__dirstamp)
-src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/mips/$(am__dirstamp):
-       @$(MKDIR_P) src/mips
-       @: > src/mips/$(am__dirstamp)
-src/mips/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/mips/$(DEPDIR)
-       @: > src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/ffi.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/o32.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/n32.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/x86/$(am__dirstamp):
-       @$(MKDIR_P) src/x86
-       @: > src/x86/$(am__dirstamp)
-src/x86/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/x86/$(DEPDIR)
-       @: > src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/sysv.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/freebsd.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win32.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sparc/$(am__dirstamp):
-       @$(MKDIR_P) src/sparc
-       @: > src/sparc/$(am__dirstamp)
-src/sparc/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sparc/$(DEPDIR)
-       @: > src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/ffi.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v8.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v9.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/alpha/$(am__dirstamp):
-       @$(MKDIR_P) src/alpha
-       @: > src/alpha/$(am__dirstamp)
-src/alpha/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/alpha/$(DEPDIR)
-       @: > src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/ffi.lo: src/alpha/$(am__dirstamp) \
-       src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/osf.lo: src/alpha/$(am__dirstamp) \
-       src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/ia64/$(am__dirstamp):
-       @$(MKDIR_P) src/ia64
-       @: > src/ia64/$(am__dirstamp)
-src/ia64/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/ia64/$(DEPDIR)
-       @: > src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/ffi.lo: src/ia64/$(am__dirstamp) \
-       src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/unix.lo: src/ia64/$(am__dirstamp) \
-       src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/m32r/$(am__dirstamp):
-       @$(MKDIR_P) src/m32r
-       @: > src/m32r/$(am__dirstamp)
-src/m32r/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/m32r/$(DEPDIR)
-       @: > src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/sysv.lo: src/m32r/$(am__dirstamp) \
-       src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/ffi.lo: src/m32r/$(am__dirstamp) \
-       src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m68k/$(am__dirstamp):
-       @$(MKDIR_P) src/m68k
-       @: > src/m68k/$(am__dirstamp)
-src/m68k/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/m68k/$(DEPDIR)
-       @: > src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \
-       src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
-       src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/$(am__dirstamp):
-       @$(MKDIR_P) src/powerpc
-       @: > src/powerpc/$(am__dirstamp)
-src/powerpc/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/powerpc/$(DEPDIR)
-       @: > src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/sysv.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ppc_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/arm/$(am__dirstamp):
-       @$(MKDIR_P) src/arm
-       @: > src/arm/$(am__dirstamp)
-src/arm/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/arm/$(DEPDIR)
-       @: > src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/sysv.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/ffi.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/trampoline.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/avr32/$(am__dirstamp):
-       @$(MKDIR_P) src/avr32
-       @: > src/avr32/$(am__dirstamp)
-src/avr32/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/avr32/$(DEPDIR)
-       @: > src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/sysv.lo: src/avr32/$(am__dirstamp) \
-       src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/ffi.lo: src/avr32/$(am__dirstamp) \
-       src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/cris/$(am__dirstamp):
-       @$(MKDIR_P) src/cris
-       @: > src/cris/$(am__dirstamp)
-src/cris/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/cris/$(DEPDIR)
-       @: > src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/sysv.lo: src/cris/$(am__dirstamp) \
-       src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/ffi.lo: src/cris/$(am__dirstamp) \
-       src/cris/$(DEPDIR)/$(am__dirstamp)
-src/frv/$(am__dirstamp):
-       @$(MKDIR_P) src/frv
-       @: > src/frv/$(am__dirstamp)
-src/frv/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/frv/$(DEPDIR)
-       @: > src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/eabi.lo: src/frv/$(am__dirstamp) \
-       src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/ffi.lo: src/frv/$(am__dirstamp) \
-       src/frv/$(DEPDIR)/$(am__dirstamp)
-src/moxie/$(am__dirstamp):
-       @$(MKDIR_P) src/moxie
-       @: > src/moxie/$(am__dirstamp)
-src/moxie/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/moxie/$(DEPDIR)
-       @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
-       src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
-       src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/s390/$(am__dirstamp):
-       @$(MKDIR_P) src/s390
-       @: > src/s390/$(am__dirstamp)
-src/s390/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/s390/$(DEPDIR)
-       @: > src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/sysv.lo: src/s390/$(am__dirstamp) \
-       src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/ffi.lo: src/s390/$(am__dirstamp) \
-       src/s390/$(DEPDIR)/$(am__dirstamp)
-src/x86/unix64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sh/$(am__dirstamp):
-       @$(MKDIR_P) src/sh
-       @: > src/sh/$(am__dirstamp)
-src/sh/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sh/$(DEPDIR)
-       @: > src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/sysv.lo: src/sh/$(am__dirstamp) \
-       src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/ffi.lo: src/sh/$(am__dirstamp) src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh64/$(am__dirstamp):
-       @$(MKDIR_P) src/sh64
-       @: > src/sh64/$(am__dirstamp)
-src/sh64/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sh64/$(DEPDIR)
-       @: > src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/sysv.lo: src/sh64/$(am__dirstamp) \
-       src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/ffi.lo: src/sh64/$(am__dirstamp) \
-       src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/pa/$(am__dirstamp):
-       @$(MKDIR_P) src/pa
-       @: > src/pa/$(am__dirstamp)
-src/pa/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/pa/$(DEPDIR)
-       @: > src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/linux.lo: src/pa/$(am__dirstamp) \
-       src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
-       src/pa/$(DEPDIR)/$(am__dirstamp)
-libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) 
-       $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
-libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) 
-       $(LINK)  $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-       -rm -f src/alpha/ffi.$(OBJEXT)
-       -rm -f src/alpha/ffi.lo
-       -rm -f src/alpha/osf.$(OBJEXT)
-       -rm -f src/alpha/osf.lo
-       -rm -f src/arm/ffi.$(OBJEXT)
-       -rm -f src/arm/ffi.lo
-       -rm -f src/arm/sysv.$(OBJEXT)
-       -rm -f src/arm/sysv.lo
-       -rm -f src/arm/trampoline.$(OBJEXT)
-       -rm -f src/arm/trampoline.lo
-       -rm -f src/avr32/ffi.$(OBJEXT)
-       -rm -f src/avr32/ffi.lo
-       -rm -f src/avr32/sysv.$(OBJEXT)
-       -rm -f src/avr32/sysv.lo
-       -rm -f src/closures.$(OBJEXT)
-       -rm -f src/closures.lo
-       -rm -f src/cris/ffi.$(OBJEXT)
-       -rm -f src/cris/ffi.lo
-       -rm -f src/cris/sysv.$(OBJEXT)
-       -rm -f src/cris/sysv.lo
-       -rm -f src/debug.$(OBJEXT)
-       -rm -f src/debug.lo
-       -rm -f src/frv/eabi.$(OBJEXT)
-       -rm -f src/frv/eabi.lo
-       -rm -f src/frv/ffi.$(OBJEXT)
-       -rm -f src/frv/ffi.lo
-       -rm -f src/ia64/ffi.$(OBJEXT)
-       -rm -f src/ia64/ffi.lo
-       -rm -f src/ia64/unix.$(OBJEXT)
-       -rm -f src/ia64/unix.lo
-       -rm -f src/java_raw_api.$(OBJEXT)
-       -rm -f src/java_raw_api.lo
-       -rm -f src/m32r/ffi.$(OBJEXT)
-       -rm -f src/m32r/ffi.lo
-       -rm -f src/m32r/sysv.$(OBJEXT)
-       -rm -f src/m32r/sysv.lo
-       -rm -f src/m68k/ffi.$(OBJEXT)
-       -rm -f src/m68k/ffi.lo
-       -rm -f src/m68k/sysv.$(OBJEXT)
-       -rm -f src/m68k/sysv.lo
-       -rm -f src/mips/ffi.$(OBJEXT)
-       -rm -f src/mips/ffi.lo
-       -rm -f src/mips/n32.$(OBJEXT)
-       -rm -f src/mips/n32.lo
-       -rm -f src/mips/o32.$(OBJEXT)
-       -rm -f src/mips/o32.lo
-       -rm -f src/moxie/eabi.$(OBJEXT)
-       -rm -f src/moxie/eabi.lo
-       -rm -f src/moxie/ffi.$(OBJEXT)
-       -rm -f src/moxie/ffi.lo
-       -rm -f src/pa/ffi.$(OBJEXT)
-       -rm -f src/pa/ffi.lo
-       -rm -f src/pa/hpux32.$(OBJEXT)
-       -rm -f src/pa/hpux32.lo
-       -rm -f src/pa/linux.$(OBJEXT)
-       -rm -f src/pa/linux.lo
-       -rm -f src/powerpc/aix.$(OBJEXT)
-       -rm -f src/powerpc/aix.lo
-       -rm -f src/powerpc/aix_closure.$(OBJEXT)
-       -rm -f src/powerpc/aix_closure.lo
-       -rm -f src/powerpc/darwin.$(OBJEXT)
-       -rm -f src/powerpc/darwin.lo
-       -rm -f src/powerpc/darwin_closure.$(OBJEXT)
-       -rm -f src/powerpc/darwin_closure.lo
-       -rm -f src/powerpc/ffi.$(OBJEXT)
-       -rm -f src/powerpc/ffi.lo
-       -rm -f src/powerpc/ffi_darwin.$(OBJEXT)
-       -rm -f src/powerpc/ffi_darwin.lo
-       -rm -f src/powerpc/linux64.$(OBJEXT)
-       -rm -f src/powerpc/linux64.lo
-       -rm -f src/powerpc/linux64_closure.$(OBJEXT)
-       -rm -f src/powerpc/linux64_closure.lo
-       -rm -f src/powerpc/ppc_closure.$(OBJEXT)
-       -rm -f src/powerpc/ppc_closure.lo
-       -rm -f src/powerpc/sysv.$(OBJEXT)
-       -rm -f src/powerpc/sysv.lo
-       -rm -f src/prep_cif.$(OBJEXT)
-       -rm -f src/prep_cif.lo
-       -rm -f src/raw_api.$(OBJEXT)
-       -rm -f src/raw_api.lo
-       -rm -f src/s390/ffi.$(OBJEXT)
-       -rm -f src/s390/ffi.lo
-       -rm -f src/s390/sysv.$(OBJEXT)
-       -rm -f src/s390/sysv.lo
-       -rm -f src/sh/ffi.$(OBJEXT)
-       -rm -f src/sh/ffi.lo
-       -rm -f src/sh/sysv.$(OBJEXT)
-       -rm -f src/sh/sysv.lo
-       -rm -f src/sh64/ffi.$(OBJEXT)
-       -rm -f src/sh64/ffi.lo
-       -rm -f src/sh64/sysv.$(OBJEXT)
-       -rm -f src/sh64/sysv.lo
-       -rm -f src/sparc/ffi.$(OBJEXT)
-       -rm -f src/sparc/ffi.lo
-       -rm -f src/sparc/v8.$(OBJEXT)
-       -rm -f src/sparc/v8.lo
-       -rm -f src/sparc/v9.$(OBJEXT)
-       -rm -f src/sparc/v9.lo
-       -rm -f src/types.$(OBJEXT)
-       -rm -f src/types.lo
-       -rm -f src/x86/darwin.$(OBJEXT)
-       -rm -f src/x86/darwin.lo
-       -rm -f src/x86/darwin64.$(OBJEXT)
-       -rm -f src/x86/darwin64.lo
-       -rm -f src/x86/ffi.$(OBJEXT)
-       -rm -f src/x86/ffi.lo
-       -rm -f src/x86/ffi64.$(OBJEXT)
-       -rm -f src/x86/ffi64.lo
-       -rm -f src/x86/freebsd.$(OBJEXT)
-       -rm -f src/x86/freebsd.lo
-       -rm -f src/x86/sysv.$(OBJEXT)
-       -rm -f src/x86/sysv.lo
-       -rm -f src/x86/unix64.$(OBJEXT)
-       -rm -f src/x86/unix64.lo
-       -rm -f src/x86/win32.$(OBJEXT)
-       -rm -f src/x86/win32.lo
-       -rm -f src/x86/win64.$(OBJEXT)
-       -rm -f src/x86/win64.lo
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/closures.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/debug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/java_raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/prep_cif.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/types.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/unix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi_darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ppc_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v8.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/freebsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/unix64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win64.Plo@am__quote@
-
-.S.o:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(CPPASCOMPILE) -c -o $@ $<
-
-.S.obj:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.S.lo:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(LTCPPASCOMPILE) -c -o $@ $<
-
-.c.o:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-       -rm -rf src/.libs src/_libs
-       -rm -rf src/alpha/.libs src/alpha/_libs
-       -rm -rf src/arm/.libs src/arm/_libs
-       -rm -rf src/avr32/.libs src/avr32/_libs
-       -rm -rf src/cris/.libs src/cris/_libs
-       -rm -rf src/frv/.libs src/frv/_libs
-       -rm -rf src/ia64/.libs src/ia64/_libs
-       -rm -rf src/m32r/.libs src/m32r/_libs
-       -rm -rf src/m68k/.libs src/m68k/_libs
-       -rm -rf src/mips/.libs src/mips/_libs
-       -rm -rf src/moxie/.libs src/moxie/_libs
-       -rm -rf src/pa/.libs src/pa/_libs
-       -rm -rf src/powerpc/.libs src/powerpc/_libs
-       -rm -rf src/s390/.libs src/s390/_libs
-       -rm -rf src/sh/.libs src/sh/_libs
-       -rm -rf src/sh64/.libs src/sh64/_libs
-       -rm -rf src/sparc/.libs src/sparc/_libs
-       -rm -rf src/x86/.libs src/x86/_libs
-
-distclean-libtool:
-       -rm -f libtool config.lt
-doc/$(am__dirstamp):
-       @$(MKDIR_P) doc
-       @: > doc/$(am__dirstamp)
-
-$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
-       restore=: && backupdir="$(am__leading_dot)am$$$$" && \
-       am__cwd=`pwd` && $(am__cd) $(srcdir) && \
-       rm -rf $$backupdir && mkdir $$backupdir && \
-       if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
-         for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
-           if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
-         done; \
-       else :; fi && \
-       cd "$$am__cwd"; \
-       if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-        -o $@ $(srcdir)/doc/libffi.texi; \
-       then \
-         rc=0; \
-         $(am__cd) $(srcdir); \
-       else \
-         rc=$$?; \
-         $(am__cd) $(srcdir) && \
-         $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
-       fi; \
-       rm -rf $$backupdir; exit $$rc
-
-doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-       $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-       $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       rm -rf $(@:.html=.htp)
-       if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-        -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
-       then \
-         rm -rf $@; \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
-       else \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
-         exit 1; \
-       fi
-$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
-$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
-       test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
-       @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
-       set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
-       echo "@set UPDATED $$1 $$2 $$3"; \
-       echo "@set UPDATED-MONTH $$2 $$3"; \
-       echo "@set EDITION $(VERSION)"; \
-       echo "@set VERSION $(VERSION)") > vti.tmp
-       @cmp -s vti.tmp $(srcdir)/doc/version.texi \
-         || (echo "Updating $(srcdir)/doc/version.texi"; \
-             cp vti.tmp $(srcdir)/doc/version.texi)
-       -@rm -f vti.tmp
-       @cp $(srcdir)/doc/version.texi $@
-
-mostlyclean-vti:
-       -rm -f vti.tmp
-
-maintainer-clean-vti:
-@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
-.dvi.ps:
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       $(DVIPS) -o $@ $<
-
-uninstall-dvi-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
-         rm -f "$(DESTDIR)$(dvidir)/$$f"; \
-       done
-
-uninstall-html-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
-         rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
-       done
-
-uninstall-info-am:
-       @$(PRE_UNINSTALL)
-       @if test -d '$(DESTDIR)$(infodir)' && \
-           (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
-         list='$(INFO_DEPS)'; \
-         for file in $$list; do \
-           relfile=`echo "$$file" | sed 's|^.*/||'`; \
-           echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
-           if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
-           then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
-         done; \
-       else :; fi
-       @$(NORMAL_UNINSTALL)
-       @list='$(INFO_DEPS)'; \
-       for file in $$list; do \
-         relfile=`echo "$$file" | sed 's|^.*/||'`; \
-         relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
-         (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
-            echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
-            rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
-          else :; fi); \
-       done
-
-uninstall-pdf-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
-         rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
-       done
-
-uninstall-ps-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(PSS)'; test -n "$(psdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
-         rm -f "$(DESTDIR)$(psdir)/$$f"; \
-       done
-
-dist-info: $(INFO_DEPS)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-       list='$(INFO_DEPS)'; \
-       for base in $$list; do \
-         case $$base in \
-           $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
-         esac; \
-         if test -f $$base; then d=.; else d=$(srcdir); fi; \
-         base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
-         for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
-           if test -f $$file; then \
-             relfile=`expr "$$file" : "$$d/\(.*\)"`; \
-             test -f "$(distdir)/$$relfile" || \
-               cp -p $$file "$(distdir)/$$relfile"; \
-           else :; fi; \
-         done; \
-       done
-
-mostlyclean-aminfo:
-       -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
-         libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
-
-clean-aminfo:
-       -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
-       || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
-
-maintainer-clean-aminfo:
-       @list='$(INFO_DEPS)'; for i in $$list; do \
-         i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
-         echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
-         rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
-       done
-install-pkgconfigDATA: $(pkgconfig_DATA)
-       @$(NORMAL_INSTALL)
-       test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
-       done
-
-uninstall-pkgconfigDATA:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       test -n "$$files" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-info
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
-installdirs: installdirs-recursive
-installdirs-am:
-       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -rm -f doc/$(am__dirstamp)
-       -rm -f src/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/$(am__dirstamp)
-       -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/alpha/$(am__dirstamp)
-       -rm -f src/arm/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/arm/$(am__dirstamp)
-       -rm -f src/avr32/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/avr32/$(am__dirstamp)
-       -rm -f src/cris/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/cris/$(am__dirstamp)
-       -rm -f src/frv/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/frv/$(am__dirstamp)
-       -rm -f src/ia64/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/ia64/$(am__dirstamp)
-       -rm -f src/m32r/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/m32r/$(am__dirstamp)
-       -rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/m68k/$(am__dirstamp)
-       -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/mips/$(am__dirstamp)
-       -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/moxie/$(am__dirstamp)
-       -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/pa/$(am__dirstamp)
-       -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/powerpc/$(am__dirstamp)
-       -rm -f src/s390/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/s390/$(am__dirstamp)
-       -rm -f src/sh/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sh/$(am__dirstamp)
-       -rm -f src/sh64/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sh64/$(am__dirstamp)
-       -rm -f src/sparc/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sparc/$(am__dirstamp)
-       -rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/x86/$(am__dirstamp)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
-       clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am: $(DVIS)
-
-html: html-recursive
-
-html-am: $(HTMLS)
-
-info: info-recursive
-
-info-am: $(INFO_DEPS)
-
-install-data-am: install-info-am install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am: $(DVIS)
-       @$(NORMAL_INSTALL)
-       test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
-       @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
-       done
-install-exec-am: install-libLTLIBRARIES
-
-install-html-am: $(HTMLS)
-       @$(NORMAL_INSTALL)
-       test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
-       @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         $(am__strip_dir) \
-         if test -d "$$d$$p"; then \
-           echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
-           echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
-         else \
-           list2="$$list2 $$d$$p"; \
-         fi; \
-       done; \
-       test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
-       done; }
-install-info: install-info-recursive
-
-install-info-am: $(INFO_DEPS)
-       @$(NORMAL_INSTALL)
-       test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-       list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
-       for file in $$list; do \
-         case $$file in \
-           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-         esac; \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
-         file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
-         for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
-                      $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
-           if test -f $$ifile; then \
-             echo "$$ifile"; \
-           else : ; fi; \
-         done; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
-       @$(POST_INSTALL)
-       @if (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
-         list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
-         for file in $$list; do \
-           relfile=`echo "$$file" | sed 's|^.*/||'`; \
-           echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
-           install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
-         done; \
-       else : ; fi
-install-man:
-
-install-pdf-am: $(PDFS)
-       @$(NORMAL_INSTALL)
-       test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
-       @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
-install-ps: install-ps-recursive
-
-install-ps-am: $(PSS)
-       @$(NORMAL_INSTALL)
-       test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
-       @list='$(PSS)'; test -n "$(psdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf $(top_srcdir)/autom4te.cache
-       -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-aminfo \
-       maintainer-clean-generic maintainer-clean-vti
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool mostlyclean-vti
-
-pdf: pdf-recursive
-
-pdf-am: $(PDFS)
-
-ps: ps-recursive
-
-ps-am: $(PSS)
-
-uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
-       uninstall-libLTLIBRARIES uninstall-pdf-am \
-       uninstall-pkgconfigDATA uninstall-ps-am
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
-       ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-aminfo \
-       clean-generic clean-libLTLIBRARIES clean-libtool \
-       clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
-       dist-bzip2 dist-gzip dist-info dist-lzma dist-shar dist-tarZ \
-       dist-xz dist-zip distcheck distclean distclean-compile \
-       distclean-generic distclean-hdr distclean-libtool \
-       distclean-tags distcleancheck distdir distuninstallcheck dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-libLTLIBRARIES \
-       install-man install-pdf install-pdf-am install-pkgconfigDATA \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-aminfo maintainer-clean-generic \
-       maintainer-clean-vti mostlyclean mostlyclean-aminfo \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
-       uninstall-info-am uninstall-libLTLIBRARIES uninstall-pdf-am \
-       uninstall-pkgconfigDATA uninstall-ps-am
-
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/.pc/autoconf-archive-update/aclocal.m4 b/.pc/autoconf-archive-update/aclocal.m4
deleted file mode 100644 (file)
index 15f8de3..0000000
+++ /dev/null
@@ -1,1866 +0,0 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
-[m4_warning([this file was generated for autoconf 2.68.
-You have another version of autoconf.  It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
-#
-#   Copyright (C) 1999-2006, 2007, 2008 Free Software Foundation, Inc.
-#   Written by Thomas Tanner, 1999
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 18 LTDL_INIT
-
-# LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE])
-# ------------------------------------------
-# DIRECTORY contains the libltdl sources.  It is okay to call this
-# function multiple times, as long as the same DIRECTORY is always given.
-AC_DEFUN([LT_CONFIG_LTDL_DIR],
-[AC_BEFORE([$0], [LTDL_INIT])
-_$0($*)
-])# LT_CONFIG_LTDL_DIR
-
-# We break this out into a separate macro, so that we can call it safely
-# internally without being caught accidentally by the sed scan in libtoolize.
-m4_defun([_LT_CONFIG_LTDL_DIR],
-[dnl remove trailing slashes
-m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$]))
-m4_case(_LTDL_DIR,
-       [], [dnl only set lt_ltdl_dir if _ARG_DIR is not simply `.'
-            m4_if(_ARG_DIR, [.],
-                    [],
-                [m4_define([_LTDL_DIR], _ARG_DIR)
-                 _LT_SHELL_INIT([lt_ltdl_dir=']_ARG_DIR['])])],
-    [m4_if(_ARG_DIR, _LTDL_DIR,
-           [],
-       [m4_fatal([multiple libltdl directories: `]_LTDL_DIR[', `]_ARG_DIR['])])])
-m4_popdef([_ARG_DIR])
-])# _LT_CONFIG_LTDL_DIR
-
-# Initialise:
-m4_define([_LTDL_DIR], [])
-
-
-# _LT_BUILD_PREFIX
-# ----------------
-# If Autoconf is new enough, expand to `${top_build_prefix}', otherwise
-# to `${top_builddir}/'.
-m4_define([_LT_BUILD_PREFIX],
-[m4_ifdef([AC_AUTOCONF_VERSION],
-   [m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.62]),
-         [-1], [m4_ifdef([_AC_HAVE_TOP_BUILD_PREFIX],
-                         [${top_build_prefix}],
-                         [${top_builddir}/])],
-         [${top_build_prefix}])],
-   [${top_builddir}/])[]dnl
-])
-
-
-# LTDL_CONVENIENCE
-# ----------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments.  Note that
-# AC_CONFIG_SUBDIRS is not called here.  LIBLTDL will be prefixed with
-# '${top_build_prefix}' if available, otherwise with '${top_builddir}/',
-# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
-# quotes!).  If your package is not flat and you're not using automake,
-# define top_build_prefix, top_builddir, and top_srcdir appropriately
-# in your Makefiles.
-AC_DEFUN([LTDL_CONVENIENCE],
-[AC_BEFORE([$0], [LTDL_INIT])dnl
-dnl Although the argument is deprecated and no longer documented,
-dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one
-dnl here make sure it is the same as any other declaration of libltdl's
-dnl location!  This also ensures lt_ltdl_dir is set when configure.ac is
-dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
-m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
-_$0()
-])# LTDL_CONVENIENCE
-
-# AC_LIBLTDL_CONVENIENCE accepted a directory argument in older libtools,
-# now we have LT_CONFIG_LTDL_DIR:
-AU_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
-_LTDL_CONVENIENCE])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [])
-
-
-# _LTDL_CONVENIENCE
-# -----------------
-# Code shared by LTDL_CONVENIENCE and LTDL_INIT([convenience]).
-m4_defun([_LTDL_CONVENIENCE],
-[case $enable_ltdl_convenience in
-  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
-  "") enable_ltdl_convenience=yes
-      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
-esac
-LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la"
-LTDLDEPS=$LIBLTDL
-LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
-
-AC_SUBST([LIBLTDL])
-AC_SUBST([LTDLDEPS])
-AC_SUBST([LTDLINCL])
-
-# For backwards non-gettext consistent compatibility...
-INCLTDL="$LTDLINCL"
-AC_SUBST([INCLTDL])
-])# _LTDL_CONVENIENCE
-
-
-# LTDL_INSTALLABLE
-# ----------------
-# sets LIBLTDL to the link flags for the libltdl installable library
-# and LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments.  Note that
-# AC_CONFIG_SUBDIRS is not called from here.  If an installed libltdl
-# is not found, LIBLTDL will be prefixed with '${top_build_prefix}' if
-# available, otherwise with '${top_builddir}/', and LTDLINCL will be
-# prefixed with '${top_srcdir}/' (note the single quotes!).  If your
-# package is not flat and you're not using automake, define top_build_prefix,
-# top_builddir, and top_srcdir appropriately in your Makefiles.
-# In the future, this macro may have to be called after LT_INIT.
-AC_DEFUN([LTDL_INSTALLABLE],
-[AC_BEFORE([$0], [LTDL_INIT])dnl
-dnl Although the argument is deprecated and no longer documented,
-dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one
-dnl here make sure it is the same as any other declaration of libltdl's
-dnl location!  This also ensures lt_ltdl_dir is set when configure.ac is
-dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
-m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
-_$0()
-])# LTDL_INSTALLABLE
-
-# AC_LIBLTDL_INSTALLABLE accepted a directory argument in older libtools,
-# now we have LT_CONFIG_LTDL_DIR:
-AU_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
-_LTDL_INSTALLABLE])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [])
-
-
-# _LTDL_INSTALLABLE
-# -----------------
-# Code shared by LTDL_INSTALLABLE and LTDL_INIT([installable]).
-m4_defun([_LTDL_INSTALLABLE],
-[if test -f $prefix/lib/libltdl.la; then
-  lt_save_LDFLAGS="$LDFLAGS"
-  LDFLAGS="-L$prefix/lib $LDFLAGS"
-  AC_CHECK_LIB([ltdl], [lt_dlinit], [lt_lib_ltdl=yes])
-  LDFLAGS="$lt_save_LDFLAGS"
-  if test x"${lt_lib_ltdl-no}" = xyes; then
-    if test x"$enable_ltdl_install" != xyes; then
-      # Don't overwrite $prefix/lib/libltdl.la without --enable-ltdl-install
-      AC_MSG_WARN([not overwriting libltdl at $prefix, force with `--enable-ltdl-install'])
-      enable_ltdl_install=no
-    fi
-  elif test x"$enable_ltdl_install" = xno; then
-    AC_MSG_WARN([libltdl not installed, but installation disabled])
-  fi
-fi
-
-# If configure.ac declared an installable ltdl, and the user didn't override
-# with --disable-ltdl-install, we will install the shipped libltdl.
-case $enable_ltdl_install in
-  no) ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
-      LIBLTDL="-lltdl"
-      LTDLDEPS=
-      LTDLINCL=
-      ;;
-  *)  enable_ltdl_install=yes
-      ac_configure_args="$ac_configure_args --enable-ltdl-install"
-      LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdl.la"
-      LTDLDEPS=$LIBLTDL
-      LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
-      ;;
-esac
-
-AC_SUBST([LIBLTDL])
-AC_SUBST([LTDLDEPS])
-AC_SUBST([LTDLINCL])
-
-# For backwards non-gettext consistent compatibility...
-INCLTDL="$LTDLINCL"
-AC_SUBST([INCLTDL])
-])# LTDL_INSTALLABLE
-
-
-# _LTDL_MODE_DISPATCH
-# -------------------
-m4_define([_LTDL_MODE_DISPATCH],
-[dnl If _LTDL_DIR is `.', then we are configuring libltdl itself:
-m4_if(_LTDL_DIR, [],
-       [],
-    dnl if _LTDL_MODE was not set already, the default value is `subproject':
-    [m4_case(m4_default(_LTDL_MODE, [subproject]),
-         [subproject], [AC_CONFIG_SUBDIRS(_LTDL_DIR)
-                         _LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"])],
-         [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"; lt_libobj_prefix="$lt_ltdl_dir/"])],
-         [recursive], [],
-       [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])dnl
-dnl Be careful not to expand twice:
-m4_define([$0], [])
-])# _LTDL_MODE_DISPATCH
-
-
-# _LT_LIBOBJ(MODULE_NAME)
-# -----------------------
-# Like AC_LIBOBJ, except that MODULE_NAME goes into _LT_LIBOBJS instead
-# of into LIBOBJS.
-AC_DEFUN([_LT_LIBOBJ], [
-  m4_pattern_allow([^_LT_LIBOBJS$])
-  _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext"
-])# _LT_LIBOBJS
-
-
-# LTDL_INIT([OPTIONS])
-# --------------------
-# Clients of libltdl can use this macro to allow the installer to
-# choose between a shipped copy of the ltdl sources or a preinstalled
-# version of the library.  If the shipped ltdl sources are not in a
-# subdirectory named libltdl, the directory name must be given by
-# LT_CONFIG_LTDL_DIR.
-AC_DEFUN([LTDL_INIT],
-[dnl Parse OPTIONS
-_LT_SET_OPTIONS([$0], [$1])
-
-dnl We need to keep our own list of libobjs separate from our parent project,
-dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while
-dnl we look for our own LIBOBJs.
-m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ]))
-m4_pushdef([AC_LIBSOURCES])
-
-dnl If not otherwise defined, default to the 1.5.x compatible subproject mode:
-m4_if(_LTDL_MODE, [],
-        [m4_define([_LTDL_MODE], m4_default([$2], [subproject]))
-        m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])],
-                [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])
-
-AC_ARG_WITH([included_ltdl],
-    [AS_HELP_STRING([--with-included-ltdl],
-                    [use the GNU ltdl sources included here])])
-
-if test "x$with_included_ltdl" != xyes; then
-  # We are not being forced to use the included libltdl sources, so
-  # decide whether there is a useful installed version we can use.
-  AC_CHECK_HEADER([ltdl.h],
-      [AC_CHECK_DECL([lt_dlinterface_register],
-          [AC_CHECK_LIB([ltdl], [lt_dladvise_preload],
-              [with_included_ltdl=no],
-              [with_included_ltdl=yes])],
-          [with_included_ltdl=yes],
-          [AC_INCLUDES_DEFAULT
-           #include <ltdl.h>])],
-      [with_included_ltdl=yes],
-      [AC_INCLUDES_DEFAULT]
-  )
-fi
-
-dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE
-dnl was called yet, then for old times' sake, we assume libltdl is in an
-dnl eponymous directory:
-AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])])
-
-AC_ARG_WITH([ltdl_include],
-    [AS_HELP_STRING([--with-ltdl-include=DIR],
-                    [use the ltdl headers installed in DIR])])
-
-if test -n "$with_ltdl_include"; then
-  if test -f "$with_ltdl_include/ltdl.h"; then :
-  else
-    AC_MSG_ERROR([invalid ltdl include directory: `$with_ltdl_include'])
-  fi
-else
-  with_ltdl_include=no
-fi
-
-AC_ARG_WITH([ltdl_lib],
-    [AS_HELP_STRING([--with-ltdl-lib=DIR],
-                    [use the libltdl.la installed in DIR])])
-
-if test -n "$with_ltdl_lib"; then
-  if test -f "$with_ltdl_lib/libltdl.la"; then :
-  else
-    AC_MSG_ERROR([invalid ltdl library directory: `$with_ltdl_lib'])
-  fi
-else
-  with_ltdl_lib=no
-fi
-
-case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in
-  ,yes,no,no,)
-       m4_case(m4_default(_LTDL_TYPE, [convenience]),
-           [convenience], [_LTDL_CONVENIENCE],
-           [installable], [_LTDL_INSTALLABLE],
-         [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)])
-       ;;
-  ,no,no,no,)
-       # If the included ltdl is not to be used, then use the
-       # preinstalled libltdl we found.
-       AC_DEFINE([HAVE_LTDL], [1],
-         [Define this if a modern libltdl is already installed])
-       LIBLTDL=-lltdl
-       LTDLDEPS=
-       LTDLINCL=
-       ;;
-  ,no*,no,*)
-       AC_MSG_ERROR([`--with-ltdl-include' and `--with-ltdl-lib' options must be used together])
-       ;;
-  *)   with_included_ltdl=no
-       LIBLTDL="-L$with_ltdl_lib -lltdl"
-       LTDLDEPS=
-       LTDLINCL="-I$with_ltdl_include"
-       ;;
-esac
-INCLTDL="$LTDLINCL"
-
-# Report our decision...
-AC_MSG_CHECKING([where to find libltdl headers])
-AC_MSG_RESULT([$LTDLINCL])
-AC_MSG_CHECKING([where to find libltdl library])
-AC_MSG_RESULT([$LIBLTDL])
-
-_LTDL_SETUP
-
-dnl restore autoconf definition.
-m4_popdef([AC_LIBOBJ])
-m4_popdef([AC_LIBSOURCES])
-
-AC_CONFIG_COMMANDS_PRE([
-    _ltdl_libobjs=
-    _ltdl_ltlibobjs=
-    if test -n "$_LT_LIBOBJS"; then
-      # Remove the extension.
-      _lt_sed_drop_objext='s/\.o$//;s/\.obj$//'
-      for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do
-        _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext"
-        _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo"
-      done
-    fi
-    AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs])
-    AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs])
-])
-
-# Only expand once:
-m4_define([LTDL_INIT])
-])# LTDL_INIT
-
-# Old names:
-AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)])
-AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)])
-AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIB_LTDL], [])
-dnl AC_DEFUN([AC_WITH_LTDL], [])
-dnl AC_DEFUN([LT_WITH_LTDL], [])
-
-
-# _LTDL_SETUP
-# -----------
-# Perform all the checks necessary for compilation of the ltdl objects
-#  -- including compiler checks and header checks.  This is a public
-# interface  mainly for the benefit of libltdl's own configure.ac, most
-# other users should call LTDL_INIT instead.
-AC_DEFUN([_LTDL_SETUP],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_SYS_MODULE_EXT])dnl
-AC_REQUIRE([LT_SYS_MODULE_PATH])dnl
-AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl
-AC_REQUIRE([LT_LIB_DLLOAD])dnl
-AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
-AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl
-AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl
-AC_REQUIRE([gl_FUNC_ARGZ])dnl
-
-m4_require([_LT_CHECK_OBJDIR])dnl
-m4_require([_LT_HEADER_DLFCN])dnl
-m4_require([_LT_CHECK_DLPREOPEN])dnl
-m4_require([_LT_DECL_SED])dnl
-
-dnl Don't require this, or it will be expanded earlier than the code
-dnl that sets the variables it relies on:
-_LT_ENABLE_INSTALL
-
-dnl _LTDL_MODE specific code must be called at least once:
-_LTDL_MODE_DISPATCH
-
-# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS
-# the user used.  This is so that ltdl.h can pick up the parent projects
-# config.h file, The first file in AC_CONFIG_HEADERS must contain the
-# definitions required by ltdl.c.
-# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility).
-AC_CONFIG_COMMANDS_PRE([dnl
-m4_pattern_allow([^LT_CONFIG_H$])dnl
-m4_ifset([AH_HEADER],
-    [LT_CONFIG_H=AH_HEADER],
-    [m4_ifset([AC_LIST_HEADERS],
-           [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[      ]]*,,;s,[[ :]].*$,,'`],
-       [])])])
-AC_SUBST([LT_CONFIG_H])
-
-AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h],
-       [], [], [AC_INCLUDES_DEFAULT])
-
-AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])])
-AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])])
-
-m4_pattern_allow([LT_LIBEXT])dnl
-AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension])
-
-name=
-eval "lt_libprefix=\"$libname_spec\""
-m4_pattern_allow([LT_LIBPREFIX])dnl
-AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix])
-
-name=ltdl
-eval "LTDLOPEN=\"$libname_spec\""
-AC_SUBST([LTDLOPEN])
-])# _LTDL_SETUP
-
-
-# _LT_ENABLE_INSTALL
-# ------------------
-m4_define([_LT_ENABLE_INSTALL],
-[AC_ARG_ENABLE([ltdl-install],
-    [AS_HELP_STRING([--enable-ltdl-install], [install libltdl])])
-
-case ,${enable_ltdl_install},${enable_ltdl_convenience} in
-  *yes*) ;;
-  *) enable_ltdl_convenience=yes ;;
-esac
-
-m4_ifdef([AM_CONDITIONAL],
-[AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
- AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)])
-])# _LT_ENABLE_INSTALL
-
-
-# LT_SYS_DLOPEN_DEPLIBS
-# ---------------------
-AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
-  [lt_cv_sys_dlopen_deplibs],
-  [# PORTME does your system automatically load deplibs for dlopen?
-  # or its logical equivalent (e.g. shl_load for HP-UX < 11)
-  # For now, we just catch OSes we know something about -- in the
-  # future, we'll try test this programmatically.
-  lt_cv_sys_dlopen_deplibs=unknown
-  case $host_os in
-  aix3*|aix4.1.*|aix4.2.*)
-    # Unknown whether this is true for these versions of AIX, but
-    # we want this `case' here to explicitly catch those versions.
-    lt_cv_sys_dlopen_deplibs=unknown
-    ;;
-  aix[[4-9]]*)
-    lt_cv_sys_dlopen_deplibs=yes
-    ;;
-  amigaos*)
-    case $host_cpu in
-    powerpc)
-      lt_cv_sys_dlopen_deplibs=no
-      ;;
-    esac
-    ;;
-  darwin*)
-    # Assuming the user has installed a libdl from somewhere, this is true
-    # If you are looking for one http://www.opendarwin.org/projects/dlcompat
-    lt_cv_sys_dlopen_deplibs=yes
-    ;;
-  freebsd* | dragonfly*)
-    lt_cv_sys_dlopen_deplibs=yes
-    ;;
-  gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu)
-    # GNU and its variants, using gnu ld.so (Glibc)
-    lt_cv_sys_dlopen_deplibs=yes
-    ;;
-  hpux10*|hpux11*)
-    lt_cv_sys_dlopen_deplibs=yes
-    ;;
-  interix*)
-    lt_cv_sys_dlopen_deplibs=yes
-    ;;
-  irix[[12345]]*|irix6.[[01]]*)
-    # Catch all versions of IRIX before 6.2, and indicate that we don't
-    # know how it worked for any of those versions.
-    lt_cv_sys_dlopen_deplibs=unknown
-    ;;
-  irix*)
-    # The case above catches anything before 6.2, and it's known that
-    # at 6.2 and later dlopen does load deplibs.
-    lt_cv_sys_dlopen_deplibs=yes
-    ;;
-  netbsd*)
-    lt_cv_sys_dlopen_deplibs=yes
-    ;;
-  openbsd*)
-    lt_cv_sys_dlopen_deplibs=yes
-    ;;
-  osf[[1234]]*)
-    # dlopen did load deplibs (at least at 4.x), but until the 5.x series,
-    # it did *not* use an RPATH in a shared library to find objects the
-    # library depends on, so we explicitly say `no'.
-    lt_cv_sys_dlopen_deplibs=no
-    ;;
-  osf5.0|osf5.0a|osf5.1)
-    # dlopen *does* load deplibs and with the right loader patch applied
-    # it even uses RPATH in a shared library to search for shared objects
-    # that the library depends on, but there's no easy way to know if that
-    # patch is installed.  Since this is the case, all we can really
-    # say is unknown -- it depends on the patch being installed.  If
-    # it is, this changes to `yes'.  Without it, it would be `no'.
-    lt_cv_sys_dlopen_deplibs=unknown
-    ;;
-  osf*)
-    # the two cases above should catch all versions of osf <= 5.1.  Read
-    # the comments above for what we know about them.
-    # At > 5.1, deplibs are loaded *and* any RPATH in a shared library
-    # is used to find them so we can finally say `yes'.
-    lt_cv_sys_dlopen_deplibs=yes
-    ;;
-  qnx*)
-    lt_cv_sys_dlopen_deplibs=yes
-    ;;
-  solaris*)
-    lt_cv_sys_dlopen_deplibs=yes
-    ;;
-  sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-    libltdl_cv_sys_dlopen_deplibs=yes
-    ;;
-  esac
-  ])
-if test "$lt_cv_sys_dlopen_deplibs" != yes; then
- AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1],
-    [Define if the OS needs help to load dependent libraries for dlopen().])
-fi
-])# LT_SYS_DLOPEN_DEPLIBS
-
-# Old name:
-AU_ALIAS([AC_LTDL_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [])
-
-
-# LT_SYS_MODULE_EXT
-# -----------------
-AC_DEFUN([LT_SYS_MODULE_EXT],
-[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
-AC_CACHE_CHECK([which extension is used for runtime loadable modules],
-  [libltdl_cv_shlibext],
-[
-module=yes
-eval libltdl_cv_shlibext=$shrext_cmds
-  ])
-if test -n "$libltdl_cv_shlibext"; then
-  m4_pattern_allow([LT_MODULE_EXT])dnl
-  AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"],
-    [Define to the extension used for runtime loadable modules, say, ".so".])
-fi
-])# LT_SYS_MODULE_EXT
-
-# Old name:
-AU_ALIAS([AC_LTDL_SHLIBEXT], [LT_SYS_MODULE_EXT])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_SHLIBEXT], [])
-
-
-# LT_SYS_MODULE_PATH
-# ------------------
-AC_DEFUN([LT_SYS_MODULE_PATH],
-[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
-AC_CACHE_CHECK([which variable specifies run-time module search path],
-  [lt_cv_module_path_var], [lt_cv_module_path_var="$shlibpath_var"])
-if test -n "$lt_cv_module_path_var"; then
-  m4_pattern_allow([LT_MODULE_PATH_VAR])dnl
-  AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"],
-    [Define to the name of the environment variable that determines the run-time module search path.])
-fi
-])# LT_SYS_MODULE_PATH
-
-# Old name:
-AU_ALIAS([AC_LTDL_SHLIBPATH], [LT_SYS_MODULE_PATH])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_SHLIBPATH], [])
-
-
-# LT_SYS_DLSEARCH_PATH
-# --------------------
-AC_DEFUN([LT_SYS_DLSEARCH_PATH],
-[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
-AC_CACHE_CHECK([for the default library search path],
-  [lt_cv_sys_dlsearch_path],
-  [lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec"])
-if test -n "$lt_cv_sys_dlsearch_path"; then
-  sys_dlsearch_path=
-  for dir in $lt_cv_sys_dlsearch_path; do
-    if test -z "$sys_dlsearch_path"; then
-      sys_dlsearch_path="$dir"
-    else
-      sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir"
-    fi
-  done
-  m4_pattern_allow([LT_DLSEARCH_PATH])dnl
-  AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"],
-    [Define to the system default library search path.])
-fi
-])# LT_SYS_DLSEARCH_PATH
-
-# Old name:
-AU_ALIAS([AC_LTDL_SYSSEARCHPATH], [LT_SYS_DLSEARCH_PATH])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [])
-
-
-# _LT_CHECK_DLPREOPEN
-# -------------------
-m4_defun([_LT_CHECK_DLPREOPEN],
-[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
-  [libltdl_cv_preloaded_symbols],
-  [if test -n "$lt_cv_sys_global_symbol_pipe"; then
-    libltdl_cv_preloaded_symbols=yes
-  else
-    libltdl_cv_preloaded_symbols=no
-  fi
-  ])
-if test x"$libltdl_cv_preloaded_symbols" = xyes; then
-  AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1],
-    [Define if libtool can extract symbol lists from object files.])
-fi
-])# _LT_CHECK_DLPREOPEN
-
-
-# LT_LIB_DLLOAD
-# -------------
-AC_DEFUN([LT_LIB_DLLOAD],
-[m4_pattern_allow([^LT_DLLOADERS$])
-LT_DLLOADERS=
-AC_SUBST([LT_DLLOADERS])
-
-AC_LANG_PUSH([C])
-
-LIBADD_DLOPEN=
-AC_SEARCH_LIBS([dlopen], [dl],
-       [AC_DEFINE([HAVE_LIBDL], [1],
-                  [Define if you have the libdl library or equivalent.])
-       if test "$ac_cv_search_dlopen" != "none required" ; then
-         LIBADD_DLOPEN="-ldl"
-       fi
-       libltdl_cv_lib_dl_dlopen="yes"
-       LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
-    [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H
-#  include <dlfcn.h>
-#endif
-    ]], [[dlopen(0, 0);]])],
-           [AC_DEFINE([HAVE_LIBDL], [1],
-                      [Define if you have the libdl library or equivalent.])
-           libltdl_cv_func_dlopen="yes"
-           LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
-       [AC_CHECK_LIB([svld], [dlopen],
-               [AC_DEFINE([HAVE_LIBDL], [1],
-                        [Define if you have the libdl library or equivalent.])
-               LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes"
-               LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])])
-if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes
-then
-  lt_save_LIBS="$LIBS"
-  LIBS="$LIBS $LIBADD_DLOPEN"
-  AC_CHECK_FUNCS([dlerror])
-  LIBS="$lt_save_LIBS"
-fi
-AC_SUBST([LIBADD_DLOPEN])
-
-LIBADD_SHL_LOAD=
-AC_CHECK_FUNC([shl_load],
-       [AC_DEFINE([HAVE_SHL_LOAD], [1],
-                  [Define if you have the shl_load function.])
-       LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"],
-    [AC_CHECK_LIB([dld], [shl_load],
-           [AC_DEFINE([HAVE_SHL_LOAD], [1],
-                      [Define if you have the shl_load function.])
-           LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"
-           LIBADD_SHL_LOAD="-ldld"])])
-AC_SUBST([LIBADD_SHL_LOAD])
-
-case $host_os in
-darwin[[1567]].*)
-# We only want this for pre-Mac OS X 10.4.
-  AC_CHECK_FUNC([_dyld_func_lookup],
-       [AC_DEFINE([HAVE_DYLD], [1],
-                  [Define if you have the _dyld_func_lookup function.])
-       LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"])
-  ;;
-beos*)
-  LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la"
-  ;;
-cygwin* | mingw* | os2* | pw32*)
-  AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include <sys/cygwin.h>]])
-  LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la"
-  ;;
-esac
-
-AC_CHECK_LIB([dld], [dld_link],
-       [AC_DEFINE([HAVE_DLD], [1],
-                  [Define if you have the GNU dld library.])
-               LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"])
-AC_SUBST([LIBADD_DLD_LINK])
-
-m4_pattern_allow([^LT_DLPREOPEN$])
-LT_DLPREOPEN=
-if test -n "$LT_DLLOADERS"
-then
-  for lt_loader in $LT_DLLOADERS; do
-    LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader "
-  done
-  AC_DEFINE([HAVE_LIBDLLOADER], [1],
-            [Define if libdlloader will be built on this platform])
-fi
-AC_SUBST([LT_DLPREOPEN])
-
-dnl This isn't used anymore, but set it for backwards compatibility
-LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD"
-AC_SUBST([LIBADD_DL])
-
-AC_LANG_POP
-])# LT_LIB_DLLOAD
-
-# Old name:
-AU_ALIAS([AC_LTDL_DLLIB], [LT_LIB_DLLOAD])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_DLLIB], [])
-
-
-# LT_SYS_SYMBOL_USCORE
-# --------------------
-# does the compiler prefix global symbols with an underscore?
-AC_DEFUN([LT_SYS_SYMBOL_USCORE],
-[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-AC_CACHE_CHECK([for _ prefix in compiled symbols],
-  [lt_cv_sys_symbol_underscore],
-  [lt_cv_sys_symbol_underscore=no
-  cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
-  if AC_TRY_EVAL(ac_compile); then
-    # Now try to grab the symbols.
-    ac_nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
-      # See whether the symbols have a leading underscore.
-      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
-        lt_cv_sys_symbol_underscore=yes
-      else
-        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
-         :
-        else
-         echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD
-        fi
-      fi
-    else
-      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
-    fi
-  else
-    echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
-    cat conftest.c >&AS_MESSAGE_LOG_FD
-  fi
-  rm -rf conftest*
-  ])
-  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-  AC_SUBST([sys_symbol_underscore])
-])# LT_SYS_SYMBOL_USCORE
-
-# Old name:
-AU_ALIAS([AC_LTDL_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [])
-
-
-# LT_FUNC_DLSYM_USCORE
-# --------------------
-AC_DEFUN([LT_FUNC_DLSYM_USCORE],
-[AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
-if test x"$lt_cv_sys_symbol_underscore" = xyes; then
-  if test x"$libltdl_cv_func_dlopen" = xyes ||
-     test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then
-       AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
-         [libltdl_cv_need_uscore],
-         [libltdl_cv_need_uscore=unknown
-          save_LIBS="$LIBS"
-          LIBS="$LIBS $LIBADD_DLOPEN"
-         _LT_TRY_DLOPEN_SELF(
-           [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes],
-           [],                          [libltdl_cv_need_uscore=cross])
-         LIBS="$save_LIBS"
-       ])
-  fi
-fi
-
-if test x"$libltdl_cv_need_uscore" = xyes; then
-  AC_DEFINE([NEED_USCORE], [1],
-    [Define if dlsym() requires a leading underscore in symbol names.])
-fi
-])# LT_FUNC_DLSYM_USCORE
-
-# Old name:
-AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], [])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.1], [],
-      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too.  Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# Figure out how to run the assembler.                      -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_PROG_AS
-# ----------
-AC_DEFUN([AM_PROG_AS],
-[# By default we simply use the C compiler to build assembly code.
-AC_REQUIRE([AC_PROG_CC])
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-AC_ARG_VAR([CCAS],      [assembler compiler command (defaults to CC)])
-AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
-_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
-])
-
-# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory.  The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run.  This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-#    fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-#    fails if $ac_aux_dir is absolute,
-#    fails when called from a subdirectory in a VPATH build with
-#          a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
-#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-#   MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH.  The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
-               [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_$1_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-  fi
-  am__universal=false
-  m4_case([$1], [CC],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac],
-    [CXX],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac])
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_$1_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking.              -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`AS_DIRNAME("$mf")`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake.                             -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# This macro actually does too much.  Some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names.  We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
-  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-             [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-                            [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
-                 [_AM_DEPENDENCIES(CC)],
-                 [define([AC_PROG_CC],
-                         defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                 [_AM_DEPENDENCIES(CXX)],
-                 [define([AC_PROG_CXX],
-                         defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                 [_AM_DEPENDENCIES(OBJC)],
-                 [define([AC_PROG_OBJC],
-                         defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
-  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
-       [enable], [m4_define([am_maintainer_other], [disable])],
-       [disable], [m4_define([am_maintainer_other], [enable])],
-       [m4_define([am_maintainer_other], [enable])
-        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
-  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
-  AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
-  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
-  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
-  MAINT=$MAINTAINER_MODE_TRUE
-  AC_SUBST([MAINT])dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Check to see how 'make' treats includes.                 -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
-          [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
-# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling.                     -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[[\\\"\#\$\&\'\`$am_lf]]*)
-    AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
-  *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries.  This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-#     tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-#     $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
-
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
-
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-  rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/asmcfi.m4])
-m4_include([m4/libtool.m4])
-m4_include([m4/ltoptions.m4])
-m4_include([m4/ltsugar.m4])
-m4_include([m4/ltversion.m4])
-m4_include([m4/lt~obsolete.m4])
-m4_include([acinclude.m4])
diff --git a/.pc/autoconf-archive-update/configure b/.pc/autoconf-archive-update/configure
deleted file mode 100755 (executable)
index cf6995e..0000000
+++ /dev/null
@@ -1,16065 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-FFI_EXEC_TRAMPOLINE_TABLE
-FFI_EXEC_TRAMPOLINE_TABLE_FALSE
-FFI_EXEC_TRAMPOLINE_TABLE_TRUE
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/libffi]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer
-  --enable-debug          debugging mode
-  --disable-structs       omit code for struct support
-  --disable-raw-api       make the raw api unavailable
-  --enable-purify-safety  purify-safe mode
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CCAS        assembler compiler command (defaults to CC)
-  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if test "$cross_compiling" = yes; then
-    # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid; break
-else
-  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
-                       if test $ac_lo -le $ac_mid; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=$ac_mid; break
-else
-  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid
-else
-  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (($2) < 0)
-    {
-      long int i = longval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
-  ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
-  fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CCAS_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CCAS_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
-  am__fastdepCCAS_TRUE=
-  am__fastdepCCAS_FALSE='#'
-else
-  am__fastdepCCAS_TRUE='#'
-  am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
-   if test "$GCC" = yes; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
-           ;;
-         ppc64-*linux*|powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         ppc*-*linux*|powerpc*-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
-        enable_dlopen=no
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl='-Wl,-Wl,,'
-       lt_prog_compiler_pic='-PIC'
-       lt_prog_compiler_static='-Bstatic'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ F* | *Sun*Fortran*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec=
-         hardcode_libdir_flag_spec_ld='-rpath $libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       always_export_symbols=yes
-       file_list_spec='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-       enable_shared_with_static_runtimes=yes
-       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds='chmod 644 $oldlib'
-       postlink_cmds='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_flag_spec_ld='+b $libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-       fi
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec="$LIB"
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
-else
-  libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
-else
-  ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
-       ac_cv_func_mmap_anon=no ;;
-     *)
-       ac_cv_func_mmap_anon=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
-   fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
-  TESTSUBDIR_TRUE=
-  TESTSUBDIR_FALSE='#'
-else
-  TESTSUBDIR_TRUE='#'
-  TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[0-9]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux* | mips*-*-openbsd*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-amigaos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin* | powerpc64-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd* | powerpc-*-openbsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
-  powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[34]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
-  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
-  MIPS_TRUE=
-  MIPS_FALSE='#'
-else
-  MIPS_TRUE='#'
-  MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
-  SPARC_TRUE=
-  SPARC_FALSE='#'
-else
-  SPARC_TRUE='#'
-  SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
-  X86_TRUE=
-  X86_FALSE='#'
-else
-  X86_TRUE='#'
-  X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
-  X86_FREEBSD_TRUE=
-  X86_FREEBSD_FALSE='#'
-else
-  X86_FREEBSD_TRUE='#'
-  X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
-  X86_WIN32_TRUE=
-  X86_WIN32_FALSE='#'
-else
-  X86_WIN32_TRUE='#'
-  X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
-  X86_WIN64_TRUE=
-  X86_WIN64_FALSE='#'
-else
-  X86_WIN64_TRUE='#'
-  X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
-  X86_DARWIN_TRUE=
-  X86_DARWIN_FALSE='#'
-else
-  X86_DARWIN_TRUE='#'
-  X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
-  ALPHA_TRUE=
-  ALPHA_FALSE='#'
-else
-  ALPHA_TRUE='#'
-  ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
-  IA64_TRUE=
-  IA64_FALSE='#'
-else
-  IA64_TRUE='#'
-  IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
-  M32R_TRUE=
-  M32R_FALSE='#'
-else
-  M32R_TRUE='#'
-  M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
-  M68K_TRUE=
-  M68K_FALSE='#'
-else
-  M68K_TRUE='#'
-  M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
-  MOXIE_TRUE=
-  MOXIE_FALSE='#'
-else
-  MOXIE_TRUE='#'
-  MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
-  POWERPC_TRUE=
-  POWERPC_FALSE='#'
-else
-  POWERPC_TRUE='#'
-  POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
-  POWERPC_AIX_TRUE=
-  POWERPC_AIX_FALSE='#'
-else
-  POWERPC_AIX_TRUE='#'
-  POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
-  POWERPC_DARWIN_TRUE=
-  POWERPC_DARWIN_FALSE='#'
-else
-  POWERPC_DARWIN_TRUE='#'
-  POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
-  POWERPC_FREEBSD_TRUE=
-  POWERPC_FREEBSD_FALSE='#'
-else
-  POWERPC_FREEBSD_TRUE='#'
-  POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
-  ARM_TRUE=
-  ARM_FALSE='#'
-else
-  ARM_TRUE='#'
-  ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
-  AVR32_TRUE=
-  AVR32_FALSE='#'
-else
-  AVR32_TRUE='#'
-  AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
-  LIBFFI_CRIS_TRUE=
-  LIBFFI_CRIS_FALSE='#'
-else
-  LIBFFI_CRIS_TRUE='#'
-  LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
-  FRV_TRUE=
-  FRV_FALSE='#'
-else
-  FRV_TRUE='#'
-  FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
-  S390_TRUE=
-  S390_FALSE='#'
-else
-  S390_TRUE='#'
-  S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
-  X86_64_TRUE=
-  X86_64_FALSE='#'
-else
-  X86_64_TRUE='#'
-  X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
-  SH_TRUE=
-  SH_FALSE='#'
-else
-  SH_TRUE='#'
-  SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
-  SH64_TRUE=
-  SH64_FALSE='#'
-else
-  SH64_TRUE='#'
-  SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
-  PA_LINUX_TRUE=
-  PA_LINUX_FALSE='#'
-else
-  PA_LINUX_TRUE='#'
-  PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
-  PA_HPUX_TRUE=
-  PA_HPUX_FALSE='#'
-else
-  PA_HPUX_TRUE='#'
-  PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
-  PA64_HPUX_TRUE=
-  PA64_HPUX_FALSE='#'
-else
-  PA64_HPUX_TRUE='#'
-  PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
-  ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
-                                   if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
-    break
-fi
-
-  done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_long_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
-    fi
-  fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    gcc_cv_as_cfi_pseudo_op=unknown
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gcc_cv_as_cfi_pseudo_op=yes
-else
-  gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  libffi_cv_as_sparc_ua_pcrel=yes
-else
-  libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_register_pseudo_op=yes
-else
-  libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_ascii_pseudo_op=yes
-else
-  libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_string_pseudo_op=yes
-else
-  libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sys_symbol_underscore=no
-  cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    ac_nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$ac_nlist"; then
-      # See whether the symbols have a leading underscore.
-      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
-        lt_cv_sys_symbol_underscore=yes
-      else
-        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
-         :
-        else
-         echo "configure: cannot find nm_test_func in $ac_nlist" >&5
-        fi
-      fi
-    else
-      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "configure: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
-  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
-    if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
-    fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
-     *arm*-apple-darwin*)
-       FFI_EXEC_TRAMPOLINE_TABLE=1
-
-$as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
-
-     ;;
-     *-apple-darwin1[10]* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
-     ;;
-esac
- if test x$FFI_EXEC_TRAMPOLINE_TABLE = x1; then
-  FFI_EXEC_TRAMPOLINE_TABLE_TRUE=
-  FFI_EXEC_TRAMPOLINE_TABLE_FALSE='#'
-else
-  FFI_EXEC_TRAMPOLINE_TABLE_TRUE='#'
-  FFI_EXEC_TRAMPOLINE_TABLE_FALSE=
-fi
-
-
-
-if test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-  else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-  fi
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
-  enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
-  fi
-fi
-
- if test "$enable_debug" = "yes"; then
-  FFI_DEBUG_TRUE=
-  FFI_DEBUG_FALSE='#'
-else
-  FFI_DEBUG_TRUE='#'
-  FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
-  enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
-  enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
-  enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
-  fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
-  as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
-  as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
-  as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
-  as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
-  as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
-  as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
-  as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
-  as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
-  as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
-  as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
-  as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
-  as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
-  as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
-  as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
-  as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
-  as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_EXEC_TRAMPOLINE_TABLE_TRUE}" && test -z "${FFI_EXEC_TRAMPOLINE_TABLE_FALSE}"; then
-  as_fn_error $? "conditional \"FFI_EXEC_TRAMPOLINE_TABLE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
-  as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
-    "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
-    "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
-    "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
-    "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
-    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
-    "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS  :L $CONFIG_LINKS  :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-  :L)
-  #
-  # CONFIG_LINK
-  #
-
-  if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
-    :
-  else
-    # Prefer the file from the source tree if names are identical.
-    if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
-      ac_source=$srcdir/$ac_source
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
-    if test ! -r "$ac_source"; then
-      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
-    fi
-    rm -f "$ac_file"
-
-    # Try a relative symlink, then a hard link, then a copy.
-    case $ac_source in
-    [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
-       *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
-    esac
-    ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
-      ln "$ac_source" "$ac_file" 2>/dev/null ||
-      cp -p "$ac_source" "$ac_file" ||
-      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
-  fi
- ;;
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-    "include":C) test -d include || mkdir include ;;
-    "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/autoconf-archive-update/m4/ax_cc_maxopt.m4 b/.pc/autoconf-archive-update/m4/ax_cc_maxopt.m4
deleted file mode 100644 (file)
index 2957da7..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-# ===========================================================================
-#       http://www.gnu.org/software/autoconf-archive/ax_cc_maxopt.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_CC_MAXOPT
-#
-# DESCRIPTION
-#
-#   Try to turn on "good" C optimization flags for various compilers and
-#   architectures, for some definition of "good". (In our case, good for
-#   FFTW and hopefully for other scientific codes. Modify as needed.)
-#
-#   The user can override the flags by setting the CFLAGS environment
-#   variable. The user can also specify --enable-portable-binary in order to
-#   disable any optimization flags that might result in a binary that only
-#   runs on the host architecture.
-#
-#   Note also that the flags assume that ANSI C aliasing rules are followed
-#   by the code (e.g. for gcc's -fstrict-aliasing), and that floating-point
-#   computations can be re-ordered as needed.
-#
-#   Requires macros: AX_CHECK_COMPILER_FLAGS, AX_COMPILER_VENDOR,
-#   AX_GCC_ARCHFLAG, AX_GCC_X86_CPUID.
-#
-# LICENSE
-#
-#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-#   Copyright (c) 2008 Matteo Frigo
-#
-#   This program is free software: you can redistribute it and/or modify it
-#   under the terms of the GNU General Public License as published by the
-#   Free Software Foundation, either version 3 of the License, or (at your
-#   option) any later version.
-#
-#   This program is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-#   Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License along
-#   with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-#   As a special exception, the respective Autoconf Macro's copyright owner
-#   gives unlimited permission to copy, distribute and modify the configure
-#   scripts that are the output of Autoconf when processing the Macro. You
-#   need not follow the terms of the GNU General Public License when using
-#   or distributing such scripts, even though portions of the text of the
-#   Macro appear in them. The GNU General Public License (GPL) does govern
-#   all other use of the material that constitutes the Autoconf Macro.
-#
-#   This special exception to the GPL applies to versions of the Autoconf
-#   Macro released by the Autoconf Archive. When you make and distribute a
-#   modified version of the Autoconf Macro, you may extend this special
-#   exception to the GPL to apply to your modified version as well.
-
-#serial 11
-
-AC_DEFUN([AX_CC_MAXOPT],
-[
-AC_REQUIRE([AC_PROG_CC])
-AC_REQUIRE([AX_COMPILER_VENDOR])
-AC_REQUIRE([AC_CANONICAL_HOST])
-
-AC_ARG_ENABLE(portable-binary, [AS_HELP_STRING([--enable-portable-binary], [disable compiler optimizations that would produce unportable binaries])],
-       acx_maxopt_portable=$withval, acx_maxopt_portable=no)
-
-# Try to determine "good" native compiler flags if none specified via CFLAGS
-if test "$ac_test_CFLAGS" != "set"; then
-  CFLAGS=""
-  case $ax_cv_c_compiler_vendor in
-    dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
-        if test "x$acx_maxopt_portable" = xno; then
-           CFLAGS="$CFLAGS -arch host"
-         fi;;
-
-    sun) CFLAGS="-native -fast -xO5 -dalign"
-        if test "x$acx_maxopt_portable" = xyes; then
-          CFLAGS="$CFLAGS -xarch=generic"
-         fi;;
-
-    hp)  CFLAGS="+Oall +Optrs_ansi +DSnative"
-        if test "x$acx_maxopt_portable" = xyes; then
-          CFLAGS="$CFLAGS +DAportable"
-        fi;;
-
-    ibm) if test "x$acx_maxopt_portable" = xno; then
-           xlc_opt="-qarch=auto -qtune=auto"
-        else
-           xlc_opt="-qtune=auto"
-        fi
-         AX_CHECK_COMPILER_FLAGS($xlc_opt,
-               CFLAGS="-O3 -qansialias -w $xlc_opt",
-               [CFLAGS="-O3 -qansialias -w"
-                echo "******************************************************"
-                echo "*  You seem to have the IBM  C compiler.  It is      *"
-                echo "*  recommended for best performance that you use:    *"
-                echo "*                                                    *"
-                echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
-                echo "*                      ^^^        ^^^                *"
-                echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of *"
-                echo "*  CPU you have.  (Set the CFLAGS environment var.   *"
-                echo "*  and re-run configure.)  For more info, man cc.    *"
-                echo "******************************************************"])
-         ;;
-
-    intel) CFLAGS="-O3 -ansi_alias"
-       if test "x$acx_maxopt_portable" = xno; then
-         icc_archflag=unknown
-         icc_flags=""
-         case $host_cpu in
-           i686*|x86_64*)
-              # icc accepts gcc assembly syntax, so these should work:
-             AX_GCC_X86_CPUID(0)
-              AX_GCC_X86_CPUID(1)
-             case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
-                *:756e6547:*:*) # Intel
-                  case $ax_cv_gcc_x86_cpuid_1 in
-                    *6a?:*[[234]]:*:*|*6[[789b]]?:*:*:*) icc_flags="-xK";;
-                    *f3[[347]]:*:*:*|*f4[1347]:*:*:*) icc_flags="-xP -xN -xW -xK";;
-                    *f??:*:*:*) icc_flags="-xN -xW -xK";;
-                  esac ;;
-              esac ;;
-          esac
-          if test "x$icc_flags" != x; then
-            for flag in $icc_flags; do
-              AX_CHECK_COMPILER_FLAGS($flag, [icc_archflag=$flag; break])
-            done
-          fi
-          AC_MSG_CHECKING([for icc architecture flag])
-         AC_MSG_RESULT($icc_archflag)
-          if test "x$icc_archflag" != xunknown; then
-            CFLAGS="$CFLAGS $icc_archflag"
-          fi
-        fi
-       ;;
-
-    gnu)
-     # default optimization flags for gcc on all systems
-     CFLAGS="-O3 -fomit-frame-pointer"
-
-     #  -fstrict-aliasing for gcc-2.95+
-     AX_CHECK_COMPILER_FLAGS(-fstrict-aliasing,
-       CFLAGS="$CFLAGS -fstrict-aliasing")
-
-     AX_CHECK_COMPILER_FLAGS(-ffast-math, CFLAGS="$CFLAGS -ffast-math")
-
-     AX_GCC_ARCHFLAG($acx_maxopt_portable)
-     ;;
-  esac
-
-  if test -z "$CFLAGS"; then
-       echo ""
-       echo "********************************************************"
-        echo "* WARNING: Don't know the best CFLAGS for this system  *"
-        echo "* Use ./configure CFLAGS=... to specify your own flags *"
-       echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"
-       echo "********************************************************"
-       echo ""
-        CFLAGS="-O3"
-  fi
-
-  AX_CHECK_COMPILER_FLAGS($CFLAGS, [], [
-       echo ""
-        echo "********************************************************"
-        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"
-        echo "* your compiler.                                       *"
-        echo "* Use ./configure CFLAGS=... to specify your own flags *"
-        echo "********************************************************"
-        echo ""
-        CFLAGS=""
-  ])
-
-fi
-])
diff --git a/.pc/autoconf-archive-update/m4/ax_cflags_warn_all.m4 b/.pc/autoconf-archive-update/m4/ax_cflags_warn_all.m4
deleted file mode 100644 (file)
index 7625580..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-# ===========================================================================
-#    http://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_CFLAGS_WARN_ALL   [(shellvar [,default, [A/NA]])]
-#   AX_CXXFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])]
-#   AX_FCFLAGS_WARN_ALL  [(shellvar [,default, [A/NA]])]
-#
-# DESCRIPTION
-#
-#   Try to find a compiler option that enables most reasonable warnings.
-#
-#   For the GNU compiler it will be -Wall (and -ansi -pedantic) The result
-#   is added to the shellvar being CFLAGS, CXXFLAGS, or FCFLAGS by default.
-#
-#   Currently this macro knows about the GCC, Solaris, Digital Unix, AIX,
-#   HP-UX, IRIX, NEC SX-5 (Super-UX 10), Cray J90 (Unicos 10.0.0.8), and
-#   Intel compilers.  For a given compiler, the Fortran flags are much more
-#   experimental than their C equivalents.
-#
-#    - $1 shell-variable-to-add-to : CFLAGS, CXXFLAGS, or FCFLAGS
-#    - $2 add-value-if-not-found : nothing
-#    - $3 action-if-found : add value to shellvariable
-#    - $4 action-if-not-found : nothing
-#
-# LICENSE
-#
-#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
-#   Copyright (c) 2010 Rhys Ulerich <rhys.ulerich@gmail.com>
-#
-#   This program is free software; you can redistribute it and/or modify it
-#   under the terms of the GNU General Public License as published by the
-#   Free Software Foundation; either version 3 of the License, or (at your
-#   option) any later version.
-#
-#   This program is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-#   Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License along
-#   with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-#   As a special exception, the respective Autoconf Macro's copyright owner
-#   gives unlimited permission to copy, distribute and modify the configure
-#   scripts that are the output of Autoconf when processing the Macro. You
-#   need not follow the terms of the GNU General Public License when using
-#   or distributing such scripts, even though portions of the text of the
-#   Macro appear in them. The GNU General Public License (GPL) does govern
-#   all other use of the material that constitutes the Autoconf Macro.
-#
-#   This special exception to the GPL applies to versions of the Autoconf
-#   Macro released by the Autoconf Archive. When you make and distribute a
-#   modified version of the Autoconf Macro, you may extend this special
-#   exception to the GPL to apply to your modified version as well.
-
-#serial 10
-
-AC_DEFUN([AX_CFLAGS_WARN_ALL],[dnl
-AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
-AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_warn_all])dnl
-AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings],
-VAR,[VAR="no, unknown"
- AC_LANG_PUSH([C])
- ac_save_[]FLAGS="$[]FLAGS"
-for ac_arg dnl
-in "-pedantic  % -Wall"       dnl   GCC
-   "-xstrconst % -v"          dnl Solaris C
-   "-std1      % -verbose -w0 -warnprotos" dnl Digital Unix
-   "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
-   "-ansi -ansiE % -fullwarn" dnl IRIX
-   "+ESlit     % +w1"         dnl HP-UX C
-   "-Xc        % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10)
-   "-h conform % -h msglevel 2" dnl Cray C (Unicos)
-   #
-do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
-   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
-                     [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
-done
- FLAGS="$ac_save_[]FLAGS"
- AC_LANG_POP([C])
-])
-case ".$VAR" in
-     .ok|.ok,*) m4_ifvaln($3,$3) ;;
-   .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[
-        AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])
-                      m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;;
-   *) m4_ifvaln($3,$3,[
-   if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
-   then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
-   else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
-                      m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
-   fi ]) ;;
-esac
-AS_VAR_POPDEF([VAR])dnl
-AS_VAR_POPDEF([FLAGS])dnl
-])
-
-dnl the only difference - the LANG selection... and the default FLAGS
-
-AC_DEFUN([AX_CXXFLAGS_WARN_ALL],[dnl
-AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl
-AS_VAR_PUSHDEF([VAR],[ax_cv_cxxflags_warn_all])dnl
-AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings],
-VAR,[VAR="no, unknown"
- AC_LANG_PUSH([C++])
- ac_save_[]FLAGS="$[]FLAGS"
-for ac_arg dnl
-in "-pedantic  % -Wall"       dnl   GCC
-   "-xstrconst % -v"          dnl Solaris C
-   "-std1      % -verbose -w0 -warnprotos" dnl Digital Unix
-   "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
-   "-ansi -ansiE % -fullwarn" dnl IRIX
-   "+ESlit     % +w1"         dnl HP-UX C
-   "-Xc        % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10)
-   "-h conform % -h msglevel 2" dnl Cray C (Unicos)
-   #
-do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
-   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
-                     [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
-done
- FLAGS="$ac_save_[]FLAGS"
- AC_LANG_POP([C++])
-])
-case ".$VAR" in
-     .ok|.ok,*) m4_ifvaln($3,$3) ;;
-   .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[
-        AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])
-                      m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;;
-   *) m4_ifvaln($3,$3,[
-   if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
-   then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
-   else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
-                      m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
-   fi ]) ;;
-esac
-AS_VAR_POPDEF([VAR])dnl
-AS_VAR_POPDEF([FLAGS])dnl
-])
-
-dnl the only difference - the LANG selection... and the default FLAGS
-
-AC_DEFUN([AX_FCFLAGS_WARN_ALL],[dnl
-AS_VAR_PUSHDEF([FLAGS],[FCFLAGS])dnl
-AS_VAR_PUSHDEF([VAR],[ax_cv_fcflags_warn_all])dnl
-AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings],
-VAR,[VAR="no, unknown"
- AC_LANG_PUSH([Fortran])
- ac_save_[]FLAGS="$[]FLAGS"
-for ac_arg dnl
-in "-warn all  % -warn all"   dnl Intel
-   "-pedantic  % -Wall"       dnl GCC
-   "-xstrconst % -v"          dnl Solaris C
-   "-std1      % -verbose -w0 -warnprotos" dnl Digital Unix
-   "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
-   "-ansi -ansiE % -fullwarn" dnl IRIX
-   "+ESlit     % +w1"         dnl HP-UX C
-   "-Xc        % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10)
-   "-h conform % -h msglevel 2" dnl Cray C (Unicos)
-   #
-do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
-   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
-                     [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
-done
- FLAGS="$ac_save_[]FLAGS"
- AC_LANG_POP([Fortran])
-])
-case ".$VAR" in
-     .ok|.ok,*) m4_ifvaln($3,$3) ;;
-   .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[
-        AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])
-                      m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;;
-   *) m4_ifvaln($3,$3,[
-   if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
-   then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
-   else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
-                      m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
-   fi ]) ;;
-esac
-AS_VAR_POPDEF([VAR])dnl
-AS_VAR_POPDEF([FLAGS])dnl
-])
-
-dnl  implementation tactics:
-dnl   the for-argument contains a list of options. The first part of
-dnl   these does only exist to detect the compiler - usually it is
-dnl   a global option to enable -ansi or -extrawarnings. All other
-dnl   compilers will fail about it. That was needed since a lot of
-dnl   compilers will give false positives for some option-syntax
-dnl   like -Woption or -Xoption as they think of it is a pass-through
-dnl   to later compile stages or something. The "%" is used as a
-dnl   delimiter. A non-option comment can be given after "%%" marks
-dnl   which will be shown but not added to the respective C/CXXFLAGS.
diff --git a/.pc/autoconf-archive-update/m4/ax_compiler_vendor.m4 b/.pc/autoconf-archive-update/m4/ax_compiler_vendor.m4
deleted file mode 100644 (file)
index 3214706..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-# ===========================================================================
-#    http://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_COMPILER_VENDOR
-#
-# DESCRIPTION
-#
-#   Determine the vendor of the C/C++ compiler, e.g., gnu, intel, ibm, sun,
-#   hp, borland, comeau, dec, cray, kai, lcc, metrowerks, sgi, microsoft,
-#   watcom, etc. The vendor is returned in the cache variable
-#   $ax_cv_c_compiler_vendor for C and $ax_cv_cxx_compiler_vendor for C++.
-#
-# LICENSE
-#
-#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-#   Copyright (c) 2008 Matteo Frigo
-#
-#   This program is free software: you can redistribute it and/or modify it
-#   under the terms of the GNU General Public License as published by the
-#   Free Software Foundation, either version 3 of the License, or (at your
-#   option) any later version.
-#
-#   This program is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-#   Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License along
-#   with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-#   As a special exception, the respective Autoconf Macro's copyright owner
-#   gives unlimited permission to copy, distribute and modify the configure
-#   scripts that are the output of Autoconf when processing the Macro. You
-#   need not follow the terms of the GNU General Public License when using
-#   or distributing such scripts, even though portions of the text of the
-#   Macro appear in them. The GNU General Public License (GPL) does govern
-#   all other use of the material that constitutes the Autoconf Macro.
-#
-#   This special exception to the GPL applies to versions of the Autoconf
-#   Macro released by the Autoconf Archive. When you make and distribute a
-#   modified version of the Autoconf Macro, you may extend this special
-#   exception to the GPL to apply to your modified version as well.
-
-#serial 9
-
-AC_DEFUN([AX_COMPILER_VENDOR],
-[
-AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor,
- [ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=unknown
-  # note: don't check for gcc first since some other compilers define __GNUC__
-  for ventest in intel:__ICC,__ECC,__INTEL_COMPILER ibm:__xlc__,__xlC__,__IBMC__,__IBMCPP__ pathscale:__PATHCC__,__PATHSCALE__ clang:__clang__ gnu:__GNUC__ sun:__SUNPRO_C,__SUNPRO_CC hp:__HP_cc,__HP_aCC dec:__DECC,__DECCXX,__DECC_VER,__DECCXX_VER borland:__BORLANDC__,__TURBOC__ comeau:__COMO__ cray:_CRAYC kai:__KCC lcc:__LCC__ metrowerks:__MWERKS__ sgi:__sgi,sgi microsoft:_MSC_VER watcom:__WATCOMC__ portland:__PGI; do
-    vencpp="defined("`echo $ventest | cut -d: -f2 | sed 's/,/) || defined(/g'`")"
-    AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[
-#if !($vencpp)
-      thisisanerror;
-#endif
-])], [ax_cv_]_AC_LANG_ABBREV[_compiler_vendor=`echo $ventest | cut -d: -f1`; break])
-  done
- ])
-])
diff --git a/.pc/autoconf-archive-update/m4/ax_enable_builddir.m4 b/.pc/autoconf-archive-update/m4/ax_enable_builddir.m4
deleted file mode 100644 (file)
index 98ea911..0000000
+++ /dev/null
@@ -1,300 +0,0 @@
-# ===========================================================================
-#    http://www.gnu.org/software/autoconf-archive/ax_enable_builddir.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_ENABLE_BUILDDIR [(dirstring-or-command [,Makefile.mk [,-all]])]
-#
-# DESCRIPTION
-#
-#   If the current configure was run within the srcdir then we move all
-#   configure-files into a subdir and let the configure steps continue
-#   there. We provide an option --disable-builddir to suppress the move into
-#   a separate builddir.
-#
-#   Defaults:
-#
-#     $1 = $host (overridden with $HOST)
-#     $2 = Makefile.mk
-#     $3 = -all
-#
-#   This macro must be called before AM_INIT_AUTOMAKE. It creates a default
-#   toplevel srcdir Makefile from the information found in the created
-#   toplevel builddir Makefile. It just copies the variables and
-#   rule-targets, each extended with a default rule-execution that recurses
-#   into the build directory of the current "HOST". You can override the
-#   auto-dection through `config.guess` and build-time of course, as in
-#
-#     make HOST=i386-mingw-cross
-#
-#   which can of course set at configure time as well using
-#
-#     configure --host=i386-mingw-cross
-#
-#   After the default has been created, additional rules can be appended
-#   that will not just recurse into the subdirectories and only ever exist
-#   in the srcdir toplevel makefile - these parts are read from the $2 =
-#   Makefile.mk file
-#
-#   The automatic rules are usually scanning the toplevel Makefile for lines
-#   like '#### $host |$builddir' to recognize the place where to recurse
-#   into. Usually, the last one is the only one used. However, almost all
-#   targets have an additional "*-all" rule which makes the script to
-#   recurse into _all_ variants of the current HOST (!!) setting. The "-all"
-#   suffix can be overriden for the macro as well.
-#
-#   a special rule is only given for things like "dist" that will copy the
-#   tarball from the builddir to the sourcedir (or $(PUB)) for reason of
-#   convenience.
-#
-# LICENSE
-#
-#   Copyright (c) 2009 Guido U. Draheim <guidod@gmx.de>
-#   Copyright (c) 2009 Alan Jenkins <alan-jenkins@tuffmail.co.uk>
-#
-#   This program is free software; you can redistribute it and/or modify it
-#   under the terms of the GNU General Public License as published by the
-#   Free Software Foundation; either version 3 of the License, or (at your
-#   option) any later version.
-#
-#   This program is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-#   Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License along
-#   with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-#   As a special exception, the respective Autoconf Macro's copyright owner
-#   gives unlimited permission to copy, distribute and modify the configure
-#   scripts that are the output of Autoconf when processing the Macro. You
-#   need not follow the terms of the GNU General Public License when using
-#   or distributing such scripts, even though portions of the text of the
-#   Macro appear in them. The GNU General Public License (GPL) does govern
-#   all other use of the material that constitutes the Autoconf Macro.
-#
-#   This special exception to the GPL applies to versions of the Autoconf
-#   Macro released by the Autoconf Archive. When you make and distribute a
-#   modified version of the Autoconf Macro, you may extend this special
-#   exception to the GPL to apply to your modified version as well.
-
-#serial 22
-
-AC_DEFUN([AX_ENABLE_BUILDDIR],[
-AC_REQUIRE([AC_CANONICAL_HOST])[]dnl
-AC_REQUIRE([AX_CONFIGURE_ARGS])[]dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])[]dnl
-AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl
-AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
-AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
-AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
-SUB="."
-AC_ARG_ENABLE([builddir], AS_HELP_STRING(
-  [--disable-builddir],[disable automatic build in subdir of sources])
-  ,[SUB="$enableval"], [SUB="auto"])
-if test ".$ac_srcdir_defaulted" != ".no" ; then
-if test ".$srcdir" = ".." ; then
-  if test -f config.status ; then
-    AC_MSG_NOTICE(toplevel srcdir already configured... skipping subdir build)
-  else
-    test ".$SUB" = "."  && SUB="."
-    test ".$SUB" = ".no"  && SUB="."
-    test ".$TARGET" = "." && TARGET="$target"
-    test ".$SUB" = ".auto" && SUB="m4_ifval([$1], [$1],[$TARGET])"
-    if test ".$SUB" != ".." ; then    # we know where to go and
-      AS_MKDIR_P([$SUB])
-      echo __.$SUB.__ > $SUB/conftest.tmp
-      cd $SUB
-      if grep __.$SUB.__ conftest.tmp >/dev/null 2>/dev/null ; then
-        rm conftest.tmp
-        AC_MSG_RESULT([continue configure in default builddir "./$SUB"])
-      else
-        AC_MSG_ERROR([could not change to default builddir "./$SUB"])
-      fi
-      srcdir=`echo "$SUB" |
-              sed -e 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g;s,[[/]]$,,;'`
-      # going to restart from subdirectory location
-      test -f $srcdir/config.log   && mv $srcdir/config.log   .
-      test -f $srcdir/confdefs.h   && mv $srcdir/confdefs.h   .
-      test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
-      test -f $srcdir/$cache_file  && mv $srcdir/$cache_file  .
-      AC_MSG_RESULT(....exec $SHELL $srcdir/[$]0 "--srcdir=$srcdir" "--enable-builddir=$SUB" ${1+"[$]@"})
-      case "[$]0" in # restart
-       [/\\]*) eval $SHELL "'[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
-       *) eval $SHELL "'$srcdir/[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
-      esac ; exit $?
-    fi
-  fi
-fi fi
-test ".$SUB" = ".auto" && SUB="."
-dnl ac_path_prog uses "set dummy" to override $@ which would defeat the "exec"
-AC_PATH_PROG(SED,gsed sed, sed)
-AUX="$am_aux_dir"
-AS_VAR_POPDEF([SED])dnl
-AS_VAR_POPDEF([AUX])dnl
-AS_VAR_POPDEF([SUB])dnl
-AC_CONFIG_COMMANDS([buildir],[dnl .............. config.status ..............
-AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
-AS_VAR_PUSHDEF([TOP],[top_srcdir])dnl
-AS_VAR_PUSHDEF([SRC],[ac_top_srcdir])dnl
-AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
-AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
-pushdef([END],[Makefile.mk])dnl
-pushdef([_ALL],[ifelse([$3],,[-all],[$3])])dnl
-  SRC="$ax_enable_builddir_srcdir"
-  if test ".$SUB" = ".." ; then
-    if test -f "$TOP/Makefile" ; then
-      AC_MSG_NOTICE([skipping TOP/Makefile - left untouched])
-    else
-      AC_MSG_NOTICE([skipping TOP/Makefile - not created])
-    fi
-  else
-    if test -f "$SRC/Makefile" ; then
-      a=`grep "^VERSION " "$SRC/Makefile"` ; b=`grep "^VERSION " Makefile`
-      test "$a" != "$b" && rm "$SRC/Makefile"
-    fi
-    if test -f "$SRC/Makefile" ; then
-       echo "$SRC/Makefile : $SRC/Makefile.in" > $tmp/conftemp.mk
-       echo "  []@ echo 'REMOVED,,,' >\$[]@" >> $tmp/conftemp.mk
-      eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
-      if grep '^REMOVED,,,' "$SRC/Makefile" >/dev/null
-      then rm $SRC/Makefile ; fi
-      cp $tmp/conftemp.mk $SRC/makefiles.mk~      ## DEBUGGING
-    fi
-    if test ! -f "$SRC/Makefile" ; then
-      AC_MSG_NOTICE([create TOP/Makefile guessed from local Makefile])
-      x='`' ; cat >$tmp/conftemp.sed <<_EOF
-/^\$/n
-x
-/^\$/bS
-x
-/\\\\\$/{H;d;}
-{H;s/.*//;x;}
-bM
-:S
-x
-/\\\\\$/{h;d;}
-{h;s/.*//;x;}
-:M
-s/\\(\\n\\)    /\\1 /g
-/^     /d
-/^[[    ]]*[[\\#]]/d
-/^VPATH *=/d
-s/^srcdir *=.*/srcdir = ./
-s/^top_srcdir *=.*/top_srcdir = ./
-/[[:=]]/!d
-/^\\./d
-dnl Now handle rules (i.e. lines containing ":" but not " = ").
-/ = /b
-/ .= /b
-/:/!b
-s/:.*/:/
-s/ /  /g
-s/ \\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/ \\1 \\1[]_ALL\\2/g
-s/^\\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/\\1 \\1[]_ALL\\2/
-s/  / /g
-/^all all[]_ALL[[ :]]/i\\
-all-configured : all[]_ALL
-dnl dist-all exists... and would make for dist-all-all
-s/ [[a-zA-Z0-9-]]*[]_ALL [[a-zA-Z0-9-]]*[]_ALL[]_ALL//g
-/[]_ALL[]_ALL/d
-a\\
-       @ HOST="\$(HOST)\" \\\\\\
-       ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
-       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
-       ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
-       ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
-       ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
-       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
-       ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
-       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-       ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
-dnl special rule add-on: "dist" copies the tarball to $(PUB). (source tree)
-/dist[]_ALL *:/a\\
-       @ HOST="\$(HOST)\" \\\\\\
-       ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
-       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
-       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
-       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
-       ; if test "\$\$found" -eq "0" ; then : \\\\\\
-       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
-       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
-       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
-dnl special rule add-on: "dist-foo" copies all the archives to $(PUB). (source tree)
-/dist-[[a-zA-Z0-9]]*[]_ALL *:/a\\
-       @ HOST="\$(HOST)\" \\\\\\
-       ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
-       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
-       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
-       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
-       ; if test "\$\$found" -eq "0" ; then : \\\\\\
-       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
-       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
-       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
-dnl special rule add-on: "distclean" removes all local builddirs completely
-/distclean[]_ALL *:/a\\
-       @ HOST="\$(HOST)\" \\\\\\
-       ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
-       ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
-       ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
-       ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
-       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
-       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-       ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
-       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-       ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
-       ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
-       ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
-_EOF
-      cp "$tmp/conftemp.sed" "$SRC/makefile.sed~"            ## DEBUGGING
-      $SED -f $tmp/conftemp.sed Makefile >$SRC/Makefile
-      if test -f "$SRC/m4_ifval([$2],[$2],[END])" ; then
-        AC_MSG_NOTICE([extend TOP/Makefile with TOP/m4_ifval([$2],[$2],[END])])
-        cat $SRC/END >>$SRC/Makefile
-      fi ; xxxx="####"
-      echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$SRC/Makefile
-      # sanity check
-      if grep '^; echo "MAKE ' $SRC/Makefile >/dev/null ; then
-        AC_MSG_NOTICE([buggy sed found - it deletes tab in "a" text parts])
-        $SED -e '/^@ HOST=/s/^/        /' -e '/^; /s/^/        /' $SRC/Makefile \
-          >$SRC/Makefile~
-        (test -s $SRC/Makefile~ && mv $SRC/Makefile~ $SRC/Makefile) 2>/dev/null
-      fi
-    else
-      xxxx="\\#\\#\\#\\#"
-      # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
-      echo "s!^$xxxx [[^|]]* | *$SUB *\$!$xxxx ...... $SUB!" >$tmp/conftemp.sed
-      $SED -f "$tmp/conftemp.sed" "$SRC/Makefile" >$tmp/mkfile.tmp
-        cp "$tmp/conftemp.sed" "$SRC/makefiles.sed~"         ## DEBUGGING
-        cp "$tmp/mkfile.tmp"   "$SRC/makefiles.out~"         ## DEBUGGING
-      if cmp -s "$SRC/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
-        AC_MSG_NOTICE([keeping TOP/Makefile from earlier configure])
-        rm "$tmp/mkfile.tmp"
-      else
-        AC_MSG_NOTICE([reusing TOP/Makefile from earlier configure])
-        mv "$tmp/mkfile.tmp" "$SRC/Makefile"
-      fi
-    fi
-    AC_MSG_NOTICE([build in $SUB (HOST=$ax_enable_builddir_host)])
-    xxxx="####"
-    echo "$xxxx" "$ax_enable_builddir_host" "|$SUB" >>$SRC/Makefile
-  fi
-popdef([END])dnl
-AS_VAR_POPDEF([SED])dnl
-AS_VAR_POPDEF([AUX])dnl
-AS_VAR_POPDEF([SRC])dnl
-AS_VAR_POPDEF([TOP])dnl
-AS_VAR_POPDEF([SUB])dnl
-],[dnl
-ax_enable_builddir_srcdir="$srcdir"                    # $srcdir
-ax_enable_builddir_host="$HOST"                        # $HOST / $host
-ax_enable_builddir_version="$VERSION"                  # $VERSION
-ax_enable_builddir_package="$PACKAGE"                  # $PACKAGE
-ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
-ax_enable_builddir_sed="$ax_enable_builddir_sed"       # $SED
-ax_enable_builddir="$ax_enable_builddir"               # $SUB
-])dnl
-])
diff --git a/.pc/autoconf-archive-update/m4/ax_gcc_archflag.m4 b/.pc/autoconf-archive-update/m4/ax_gcc_archflag.m4
deleted file mode 100644 (file)
index d37a913..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-# ===========================================================================
-#      http://www.gnu.org/software/autoconf-archive/ax_gcc_archflag.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_GCC_ARCHFLAG([PORTABLE?], [ACTION-SUCCESS], [ACTION-FAILURE])
-#
-# DESCRIPTION
-#
-#   This macro tries to guess the "native" arch corresponding to the target
-#   architecture for use with gcc's -march=arch or -mtune=arch flags. If
-#   found, the cache variable $ax_cv_gcc_archflag is set to this flag and
-#   ACTION-SUCCESS is executed; otherwise $ax_cv_gcc_archflag is is set to
-#   "unknown" and ACTION-FAILURE is executed. The default ACTION-SUCCESS is
-#   to add $ax_cv_gcc_archflag to the end of $CFLAGS.
-#
-#   PORTABLE? should be either [yes] (default) or [no]. In the former case,
-#   the flag is set to -mtune (or equivalent) so that the architecture is
-#   only used for tuning, but the instruction set used is still portable. In
-#   the latter case, the flag is set to -march (or equivalent) so that
-#   architecture-specific instructions are enabled.
-#
-#   The user can specify --with-gcc-arch=<arch> in order to override the
-#   macro's choice of architecture, or --without-gcc-arch to disable this.
-#
-#   When cross-compiling, or if $CC is not gcc, then ACTION-FAILURE is
-#   called unless the user specified --with-gcc-arch manually.
-#
-#   Requires macros: AX_CHECK_COMPILER_FLAGS, AX_GCC_X86_CPUID
-#
-#   (The main emphasis here is on recent CPUs, on the principle that doing
-#   high-performance computing on old hardware is uncommon.)
-#
-# LICENSE
-#
-#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-#   Copyright (c) 2008 Matteo Frigo
-#
-#   This program is free software: you can redistribute it and/or modify it
-#   under the terms of the GNU General Public License as published by the
-#   Free Software Foundation, either version 3 of the License, or (at your
-#   option) any later version.
-#
-#   This program is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-#   Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License along
-#   with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-#   As a special exception, the respective Autoconf Macro's copyright owner
-#   gives unlimited permission to copy, distribute and modify the configure
-#   scripts that are the output of Autoconf when processing the Macro. You
-#   need not follow the terms of the GNU General Public License when using
-#   or distributing such scripts, even though portions of the text of the
-#   Macro appear in them. The GNU General Public License (GPL) does govern
-#   all other use of the material that constitutes the Autoconf Macro.
-#
-#   This special exception to the GPL applies to versions of the Autoconf
-#   Macro released by the Autoconf Archive. When you make and distribute a
-#   modified version of the Autoconf Macro, you may extend this special
-#   exception to the GPL to apply to your modified version as well.
-
-#serial 8
-
-AC_DEFUN([AX_GCC_ARCHFLAG],
-[AC_REQUIRE([AC_PROG_CC])
-AC_REQUIRE([AC_CANONICAL_HOST])
-
-AC_ARG_WITH(gcc-arch, [AS_HELP_STRING([--with-gcc-arch=<arch>], [use architecture <arch> for gcc -march/-mtune, instead of guessing])],
-       ax_gcc_arch=$withval, ax_gcc_arch=yes)
-
-AC_MSG_CHECKING([for gcc architecture flag])
-AC_MSG_RESULT([])
-AC_CACHE_VAL(ax_cv_gcc_archflag,
-[
-ax_cv_gcc_archflag="unknown"
-
-if test "$GCC" = yes; then
-
-if test "x$ax_gcc_arch" = xyes; then
-ax_gcc_arch=""
-if test "$cross_compiling" = no; then
-case $host_cpu in
-  i[[3456]]86*|x86_64*) # use cpuid codes, in part from x86info-1.7 by D. Jones
-     AX_GCC_X86_CPUID(0)
-     AX_GCC_X86_CPUID(1)
-     case $ax_cv_gcc_x86_cpuid_0 in
-       *:756e6547:*:*) # Intel
-          case $ax_cv_gcc_x86_cpuid_1 in
-           *5[[48]]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
-           *5??:*:*:*) ax_gcc_arch=pentium ;;
-           *6[[3456]]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
-           *6a?:*[[01]]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
-           *6a?:*[[234]]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
-           *6[[9d]]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
-           *6[[78b]]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
-           *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
-            *f3[[347]]:*:*:*|*f4[1347]:*:*:*)
-               case $host_cpu in
-                  x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
-                  *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
-                esac ;;
-            *f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
-          esac ;;
-       *:68747541:*:*) # AMD
-          case $ax_cv_gcc_x86_cpuid_1 in
-           *5[[67]]?:*:*:*) ax_gcc_arch=k6 ;;
-           *5[[8d]]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
-           *5[[9]]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
-           *60?:*:*:*) ax_gcc_arch=k7 ;;
-           *6[[12]]?:*:*:*) ax_gcc_arch="athlon k7" ;;
-           *6[[34]]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
-           *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
-           *6[[68a]]?:*:*:*)
-              AX_GCC_X86_CPUID(0x80000006) # L2 cache size
-              case $ax_cv_gcc_x86_cpuid_0x80000006 in
-                 *:*:*[[1-9a-f]]??????:*) # (L2 = ecx >> 16) >= 256
-                       ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
-                 *) ax_gcc_arch="athlon-4 athlon k7" ;;
-              esac ;;
-           *f[[4cef8b]]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
-           *f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
-           *f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
-           *f??:*:*:*) ax_gcc_arch="k8" ;;
-          esac ;;
-       *:746e6543:*:*) # IDT
-          case $ax_cv_gcc_x86_cpuid_1 in
-            *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
-            *58?:*:*:*) ax_gcc_arch=winchip2 ;;
-            *6[[78]]?:*:*:*) ax_gcc_arch=c3 ;;
-            *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
-          esac ;;
-     esac
-     if test x"$ax_gcc_arch" = x; then # fallback
-       case $host_cpu in
-         i586*) ax_gcc_arch=pentium ;;
-         i686*) ax_gcc_arch=pentiumpro ;;
-        esac
-     fi
-     ;;
-
-  sparc*)
-     AC_PATH_PROG([PRTDIAG], [prtdiag], [prtdiag], [$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/])
-     cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
-     cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
-     case $cputype in
-         *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
-         *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
-         *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
-         *supersparc*|*tms390z5[[05]]*) ax_gcc_arch="supersparc v8" ;;
-         *hypersparc*|*rt62[[056]]*) ax_gcc_arch="hypersparc v8" ;;
-         *cypress*) ax_gcc_arch=cypress ;;
-     esac ;;
-
-  alphaev5) ax_gcc_arch=ev5 ;;
-  alphaev56) ax_gcc_arch=ev56 ;;
-  alphapca56) ax_gcc_arch="pca56 ev56" ;;
-  alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
-  alphaev6) ax_gcc_arch=ev6 ;;
-  alphaev67) ax_gcc_arch=ev67 ;;
-  alphaev68) ax_gcc_arch="ev68 ev67" ;;
-  alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
-  alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
-  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
-
-  powerpc*)
-     cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
-     cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
-     case $cputype in
-       *750*) ax_gcc_arch="750 G3" ;;
-       *740[[0-9]]*) ax_gcc_arch="$cputype 7400 G4" ;;
-       *74[[4-5]][[0-9]]*) ax_gcc_arch="$cputype 7450 G4" ;;
-       *74[[0-9]][[0-9]]*) ax_gcc_arch="$cputype G4" ;;
-       *970*) ax_gcc_arch="970 G5 power4";;
-       *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
-       *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
-       603ev|8240) ax_gcc_arch="$cputype 603e 603";;
-       *) ax_gcc_arch=$cputype ;;
-     esac
-     ax_gcc_arch="$ax_gcc_arch powerpc"
-     ;;
-esac
-fi # not cross-compiling
-fi # guess arch
-
-if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
-for arch in $ax_gcc_arch; do
-  if test "x[]m4_default([$1],yes)" = xyes; then # if we require portable code
-    flags="-mtune=$arch"
-    # -mcpu=$arch and m$arch generate nonportable code on every arch except
-    # x86.  And some other arches (e.g. Alpha) don't accept -mtune.  Grrr.
-    case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
-  else
-    flags="-march=$arch -mcpu=$arch -m$arch"
-  fi
-  for flag in $flags; do
-    AX_CHECK_COMPILER_FLAGS($flag, [ax_cv_gcc_archflag=$flag; break])
-  done
-  test "x$ax_cv_gcc_archflag" = xunknown || break
-done
-fi
-
-fi # $GCC=yes
-])
-AC_MSG_CHECKING([for gcc architecture flag])
-AC_MSG_RESULT($ax_cv_gcc_archflag)
-if test "x$ax_cv_gcc_archflag" = xunknown; then
-  m4_default([$3],:)
-else
-  m4_default([$2], [CFLAGS="$CFLAGS $ax_cv_gcc_archflag"])
-fi
-])
diff --git a/.pc/bad-abi-fix/.timestamp b/.pc/bad-abi-fix/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/bad-abi-fix/ChangeLog b/.pc/bad-abi-fix/ChangeLog
deleted file mode 100644 (file)
index f27b6be..0000000
+++ /dev/null
@@ -1,4641 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2011-02-11  Anthony Green  <green@moxielogic.com>
-
-       * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-
-2011-02-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/bad-abi-fix/include/ffi_common.h b/.pc/bad-abi-fix/include/ffi_common.h
deleted file mode 100644 (file)
index 42cace9..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi_common.h - Copyright (c) 1996  Red Hat, Inc.
-   Copyright (C) 2007 Free Software Foundation, Inc
-
-   Common internal definitions and macros. Only necessary for building
-   libffi.
-   ----------------------------------------------------------------------- */
-
-#ifndef FFI_COMMON_H
-#define FFI_COMMON_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <fficonfig.h>
-
-/* Do not move this. Some versions of AIX are very picky about where
-   this is positioned. */
-#ifdef __GNUC__
-/* mingw64 defines this already in malloc.h. */
-#ifndef alloca
-# define alloca __builtin_alloca
-#endif
-# define MAYBE_UNUSED __attribute__((__unused__))
-#else
-# define MAYBE_UNUSED
-# if HAVE_ALLOCA_H
-#  include <alloca.h>
-# else
-#  ifdef _AIX
- #pragma alloca
-#  else
-#   ifndef alloca /* predefined by HP cc +Olibcalls */
-#    ifdef _MSC_VER
-#     define alloca _alloca
-#    else
-char *alloca ();
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-/* Check for the existence of memcpy. */
-#if STDC_HEADERS
-# include <string.h>
-#else
-# ifndef HAVE_MEMCPY
-#  define memcpy(d, s, n) bcopy ((s), (d), (n))
-# endif
-#endif
-
-#if defined(FFI_DEBUG)
-#include <stdio.h>
-#endif
-
-#ifdef FFI_DEBUG
-void ffi_assert(char *expr, char *file, int line);
-void ffi_stop_here(void);
-void ffi_type_test(ffi_type *a, char *file, int line);
-
-#define FFI_ASSERT(x) ((x) ? (void)0 : ffi_assert(#x, __FILE__,__LINE__))
-#define FFI_ASSERT_AT(x, f, l) ((x) ? 0 : ffi_assert(#x, (f), (l)))
-#define FFI_ASSERT_VALID_TYPE(x) ffi_type_test (x, __FILE__, __LINE__)
-#else
-#define FFI_ASSERT(x)
-#define FFI_ASSERT_AT(x, f, l)
-#define FFI_ASSERT_VALID_TYPE(x)
-#endif
-
-#define ALIGN(v, a)  (((((size_t) (v))-1) | ((a)-1))+1)
-#define ALIGN_DOWN(v, a) (((size_t) (v)) & -a)
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif);
-
-/* Extended cif, used in callback from assembly routine */
-typedef struct
-{
-  ffi_cif *cif;
-  void *rvalue;
-  void **avalue;
-} extended_cif;
-
-/* Terse sized type definitions.  */
-#if defined(_MSC_VER) || defined(__sgi)
-typedef unsigned char UINT8;
-typedef signed char   SINT8;
-typedef unsigned short UINT16;
-typedef signed short   SINT16;
-typedef unsigned int UINT32;
-typedef signed int   SINT32;
-# ifdef _MSC_VER
-typedef unsigned __int64 UINT64;
-typedef signed __int64   SINT64;
-# else
-# include <inttypes.h>
-typedef uint64_t UINT64;
-typedef int64_t  SINT64;
-# endif
-#else
-typedef unsigned int UINT8  __attribute__((__mode__(__QI__)));
-typedef signed int   SINT8  __attribute__((__mode__(__QI__)));
-typedef unsigned int UINT16 __attribute__((__mode__(__HI__)));
-typedef signed int   SINT16 __attribute__((__mode__(__HI__)));
-typedef unsigned int UINT32 __attribute__((__mode__(__SI__)));
-typedef signed int   SINT32 __attribute__((__mode__(__SI__)));
-typedef unsigned int UINT64 __attribute__((__mode__(__DI__)));
-typedef signed int   SINT64 __attribute__((__mode__(__DI__)));
-#endif
-
-typedef float FLOAT32;
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-
diff --git a/.pc/bad-abi-fix/src/arm/ffi.c b/.pc/bad-abi-fix/src/arm/ffi.c
deleted file mode 100644 (file)
index 521346c..0000000
+++ /dev/null
@@ -1,726 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 1998, 2008, 2011  Red Hat, Inc.
-          Copyright (c) 2011 Plausible Labs Cooperative, Inc.
-   
-   ARM Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-/* Forward declares. */
-static int vfp_type_p (ffi_type *);
-static void layout_vfp_args (ffi_cif *);
-
-/* ffi_prep_args is called by the assembly routine once stack space
-   has been allocated for the function's arguments
-   
-   The vfp_space parameter is the load area for VFP regs, the return
-   value is cif->vfp_used (word bitset of VFP regs used for passing
-   arguments). These are only used for the VFP hard-float ABI.
-*/
-int ffi_prep_args(char *stack, extended_cif *ecif, float *vfp_space)
-{
-  register unsigned int i, vi = 0;
-  register void **p_argv;
-  register char *argp;
-  register ffi_type **p_arg;
-
-  argp = stack;
-
-  if ( ecif->cif->flags == FFI_TYPE_STRUCT ) {
-    *(void **) argp = ecif->rvalue;
-    argp += 4;
-  }
-
-  p_argv = ecif->avalue;
-
-  for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
-       (i != 0);
-       i--, p_arg++)
-    {
-      size_t z;
-
-      /* Allocated in VFP registers. */
-      if (ecif->cif->abi == FFI_VFP
-         && vi < ecif->cif->vfp_nargs && vfp_type_p (*p_arg))
-       {
-         float* vfp_slot = vfp_space + ecif->cif->vfp_args[vi++];
-         if ((*p_arg)->type == FFI_TYPE_FLOAT)
-           *((float*)vfp_slot) = *((float*)*p_argv);
-         else if ((*p_arg)->type == FFI_TYPE_DOUBLE)
-           *((double*)vfp_slot) = *((double*)*p_argv);
-         else
-           memcpy(vfp_slot, *p_argv, (*p_arg)->size);
-         p_argv++;
-         continue;
-       }
-
-      /* Align if necessary */
-      if (((*p_arg)->alignment - 1) & (unsigned) argp) {
-       argp = (char *) ALIGN(argp, (*p_arg)->alignment);
-      }
-
-      if ((*p_arg)->type == FFI_TYPE_STRUCT)
-       argp = (char *) ALIGN(argp, 4);
-
-         z = (*p_arg)->size;
-         if (z < sizeof(int))
-           {
-             z = sizeof(int);
-             switch ((*p_arg)->type)
-               {
-               case FFI_TYPE_SINT8:
-                 *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_UINT8:
-                 *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_SINT16:
-                 *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_UINT16:
-                 *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_STRUCT:
-                 memcpy(argp, *p_argv, (*p_arg)->size);
-                 break;
-
-               default:
-                 FFI_ASSERT(0);
-               }
-           }
-         else if (z == sizeof(int))
-           {
-             *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv);
-           }
-         else
-           {
-             memcpy(argp, *p_argv, z);
-           }
-         p_argv++;
-         argp += z;
-    }
-
-  /* Indicate the VFP registers used. */
-  return ecif->cif->vfp_used;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
-  int type_code;
-  /* Round the stack up to a multiple of 8 bytes.  This isn't needed 
-     everywhere, but it is on some platforms, and it doesn't harm anything
-     when it isn't needed.  */
-  cif->bytes = (cif->bytes + 7) & ~7;
-
-  /* Set the return type flag */
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_VOID:
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-      cif->flags = (unsigned) cif->rtype->type;
-      break;
-
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_UINT64:
-      cif->flags = (unsigned) FFI_TYPE_SINT64;
-      break;
-
-    case FFI_TYPE_STRUCT:
-      if (cif->abi == FFI_VFP
-         && (type_code = vfp_type_p (cif->rtype)) != 0)
-       {
-         /* A Composite Type passed in VFP registers, either
-            FFI_TYPE_STRUCT_VFP_FLOAT or FFI_TYPE_STRUCT_VFP_DOUBLE. */
-         cif->flags = (unsigned) type_code;
-       }
-      else if (cif->rtype->size <= 4)
-       /* A Composite Type not larger than 4 bytes is returned in r0.  */
-       cif->flags = (unsigned)FFI_TYPE_INT;
-      else
-       /* A Composite Type larger than 4 bytes, or whose size cannot
-          be determined statically ... is stored in memory at an
-          address passed [in r0].  */
-       cif->flags = (unsigned)FFI_TYPE_STRUCT;
-      break;
-
-    default:
-      cif->flags = FFI_TYPE_INT;
-      break;
-    }
-
-  /* Map out the register placements of VFP register args.
-     The VFP hard-float calling conventions are slightly more sophisticated than
-     the base calling conventions, so we do it here instead of in ffi_prep_args(). */
-  if (cif->abi == FFI_VFP)
-    layout_vfp_args (cif);
-
-  return FFI_OK;
-}
-
-/* Prototypes for assembly functions, in sysv.S */
-extern void ffi_call_SYSV (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-extern void ffi_call_VFP (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  int small_struct = (cif->flags == FFI_TYPE_INT 
-                     && cif->rtype->type == FFI_TYPE_STRUCT);
-  int vfp_struct = (cif->flags == FFI_TYPE_STRUCT_VFP_FLOAT
-                   || cif->flags == FFI_TYPE_STRUCT_VFP_DOUBLE);
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  unsigned int temp;
-  
-  /* If the return value is a struct and we don't have a return        */
-  /* value address then we need to make one                    */
-
-  if ((rvalue == NULL) && 
-      (cif->flags == FFI_TYPE_STRUCT))
-    {
-      ecif.rvalue = alloca(cif->rtype->size);
-    }
-  else if (small_struct)
-    ecif.rvalue = &temp;
-  else if (vfp_struct)
-    {
-      /* Largest case is double x 4. */
-      ecif.rvalue = alloca(32);
-    }
-  else
-    ecif.rvalue = rvalue;
-
-  switch (cif->abi) 
-    {
-    case FFI_SYSV:
-      ffi_call_SYSV (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
-      break;
-
-    case FFI_VFP:
-      ffi_call_VFP (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
-      break;
-
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-  if (small_struct)
-    memcpy (rvalue, &temp, cif->rtype->size);
-  else if (vfp_struct)
-    memcpy (rvalue, ecif.rvalue, cif->rtype->size);
-}
-
-/** private members **/
-
-static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
-                                        void** args, ffi_cif* cif, float *vfp_stack);
-
-void ffi_closure_SYSV (ffi_closure *);
-
-void ffi_closure_VFP (ffi_closure *);
-
-/* This function is jumped to by the trampoline */
-
-unsigned int
-ffi_closure_SYSV_inner (closure, respp, args, vfp_args)
-     ffi_closure *closure;
-     void **respp;
-     void *args;
-     void *vfp_args;
-{
-  // our various things...
-  ffi_cif       *cif;
-  void         **arg_area;
-
-  cif         = closure->cif;
-  arg_area    = (void**) alloca (cif->nargs * sizeof (void*));  
-
-  /* this call will initialize ARG_AREA, such that each
-   * element in that array points to the corresponding 
-   * value on the stack; and if the function returns
-   * a structure, it will re-set RESP to point to the
-   * structure return address.  */
-
-  ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif, vfp_args);
-
-  (closure->fun) (cif, *respp, arg_area, closure->user_data);
-
-  return cif->flags;
-}
-
-/*@-exportheader@*/
-static void 
-ffi_prep_incoming_args_SYSV(char *stack, void **rvalue,
-                           void **avalue, ffi_cif *cif,
-                           /* Used only under VFP hard-float ABI. */
-                           float *vfp_stack)
-/*@=exportheader@*/
-{
-  register unsigned int i, vi = 0;
-  register void **p_argv;
-  register char *argp;
-  register ffi_type **p_arg;
-
-  argp = stack;
-
-  if ( cif->flags == FFI_TYPE_STRUCT ) {
-    *rvalue = *(void **) argp;
-    argp += 4;
-  }
-
-  p_argv = avalue;
-
-  for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
-    {
-      size_t z;
-      size_t alignment;
-  
-      if (cif->abi == FFI_VFP
-         && vi < cif->vfp_nargs && vfp_type_p (*p_arg))
-       {
-         *p_argv++ = (void*)(vfp_stack + cif->vfp_args[vi++]);
-         continue;
-       }
-
-      alignment = (*p_arg)->alignment;
-      if (alignment < 4)
-       alignment = 4;
-      /* Align if necessary */
-      if ((alignment - 1) & (unsigned) argp) {
-       argp = (char *) ALIGN(argp, alignment);
-      }
-
-      z = (*p_arg)->size;
-
-      /* because we're little endian, this is what it turns into.   */
-
-      *p_argv = (void*) argp;
-
-      p_argv++;
-      argp += z;
-    }
-  
-  return;
-}
-
-/* How to make a trampoline.  */
-
-extern unsigned int ffi_arm_trampoline[3];
-
-#if FFI_EXEC_TRAMPOLINE_TABLE
-
-#include <mach/mach.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-extern void *ffi_closure_trampoline_table_page;
-
-typedef struct ffi_trampoline_table ffi_trampoline_table;
-typedef struct ffi_trampoline_table_entry ffi_trampoline_table_entry;
-
-struct ffi_trampoline_table {
-  /* contigious writable and executable pages */
-  vm_address_t config_page;
-  vm_address_t trampoline_page;
-
-  /* free list tracking */
-  uint16_t free_count;
-  ffi_trampoline_table_entry *free_list;
-  ffi_trampoline_table_entry *free_list_pool;
-
-  ffi_trampoline_table *prev;
-  ffi_trampoline_table *next;
-};
-
-struct ffi_trampoline_table_entry {
-  void *(*trampoline)();
-  ffi_trampoline_table_entry *next;
-};
-
-/* Override the standard architecture trampoline size */
-// XXX TODO - Fix
-#undef FFI_TRAMPOLINE_SIZE
-#define FFI_TRAMPOLINE_SIZE 12
-
-/* The trampoline configuration is placed at 4080 bytes prior to the trampoline's entry point */
-#define FFI_TRAMPOLINE_CODELOC_CONFIG(codeloc) ((void **) (((uint8_t *) codeloc) - 4080));
-
-/* The first 16 bytes of the config page are unused, as they are unaddressable from the trampoline page. */
-#define FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET 16
-
-/* Total number of trampolines that fit in one trampoline table */
-#define FFI_TRAMPOLINE_COUNT ((PAGE_SIZE - FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET) / FFI_TRAMPOLINE_SIZE)
-
-static pthread_mutex_t ffi_trampoline_lock = PTHREAD_MUTEX_INITIALIZER;
-static ffi_trampoline_table *ffi_trampoline_tables = NULL;
-
-static ffi_trampoline_table *
-ffi_trampoline_table_alloc ()
-{
-  ffi_trampoline_table *table = NULL;
-
-  /* Loop until we can allocate two contigious pages */
-  while (table == NULL) {
-    vm_address_t config_page = 0x0;
-    kern_return_t kt;
-
-    /* Try to allocate two pages */
-    kt = vm_allocate (mach_task_self (), &config_page, PAGE_SIZE*2, VM_FLAGS_ANYWHERE);
-    if (kt != KERN_SUCCESS) {
-      fprintf(stderr, "vm_allocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-      break;
-    }
-
-    /* Now drop the second half of the allocation to make room for the trampoline table */
-    vm_address_t trampoline_page = config_page+PAGE_SIZE;
-    kt = vm_deallocate (mach_task_self (), trampoline_page, PAGE_SIZE);
-    if (kt != KERN_SUCCESS) {
-      fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-      break;
-    }
-
-    /* Remap the trampoline table to directly follow the config page */
-    vm_prot_t cur_prot;
-    vm_prot_t max_prot;
-
-    kt = vm_remap (mach_task_self (), &trampoline_page, PAGE_SIZE, 0x0, FALSE, mach_task_self (), (vm_address_t) &ffi_closure_trampoline_table_page, FALSE, &cur_prot, &max_prot, VM_INHERIT_SHARE);
-
-    /* If we lost access to the destination trampoline page, drop our config allocation mapping and retry */
-    if (kt != KERN_SUCCESS) {
-      /* Log unexpected failures */
-      if (kt != KERN_NO_SPACE) {
-        fprintf(stderr, "vm_remap() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-      }
-
-      vm_deallocate (mach_task_self (), config_page, PAGE_SIZE);
-      continue;
-    }
-
-    /* We have valid trampoline and config pages */
-    table = calloc (1, sizeof(ffi_trampoline_table));
-    table->free_count = FFI_TRAMPOLINE_COUNT;
-    table->config_page = config_page;
-    table->trampoline_page = trampoline_page;
-
-    /* Create and initialize the free list */
-    table->free_list_pool = calloc(FFI_TRAMPOLINE_COUNT, sizeof(ffi_trampoline_table_entry));
-
-    uint16_t i;
-    for (i = 0; i < table->free_count; i++) {
-      ffi_trampoline_table_entry *entry = &table->free_list_pool[i];
-      entry->trampoline = (void *) (table->trampoline_page + (i * FFI_TRAMPOLINE_SIZE));
-
-      if (i < table->free_count - 1)
-        entry->next = &table->free_list_pool[i+1];
-    }
-
-    table->free_list = table->free_list_pool;
-  }
-
-  return table;
-}
-
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
-  /* Create the closure */
-  ffi_closure *closure = malloc(size);
-  if (closure == NULL)
-    return NULL;
-
-  pthread_mutex_lock(&ffi_trampoline_lock);
-
-  /* Check for an active trampoline table with available entries. */
-  ffi_trampoline_table *table = ffi_trampoline_tables;
-  if (table == NULL || table->free_list == NULL) {
-    table = ffi_trampoline_table_alloc ();
-    if (table == NULL) {
-      free(closure);
-      return NULL;
-    }
-
-    /* Insert the new table at the top of the list */
-    table->next = ffi_trampoline_tables;
-    if (table->next != NULL)
-        table->next->prev = table;
-
-    ffi_trampoline_tables = table;
-  }
-
-  /* Claim the free entry */
-  ffi_trampoline_table_entry *entry = ffi_trampoline_tables->free_list;
-  ffi_trampoline_tables->free_list = entry->next;
-  ffi_trampoline_tables->free_count--;
-  entry->next = NULL;
-
-  pthread_mutex_unlock(&ffi_trampoline_lock);
-
-  /* Initialize the return values */
-  *code = entry->trampoline;
-  closure->trampoline_table = table;
-  closure->trampoline_table_entry = entry;
-
-  return closure;
-}
-
-void
-ffi_closure_free (void *ptr)
-{
-  ffi_closure *closure = ptr;
-
-  pthread_mutex_lock(&ffi_trampoline_lock);
-
-  /* Fetch the table and entry references */
-  ffi_trampoline_table *table = closure->trampoline_table;
-  ffi_trampoline_table_entry *entry = closure->trampoline_table_entry;
-
-  /* Return the entry to the free list */
-  entry->next = table->free_list;
-  table->free_list = entry;
-  table->free_count++;
-
-  /* If all trampolines within this table are free, and at least one other table exists, deallocate
-   * the table */
-  if (table->free_count == FFI_TRAMPOLINE_COUNT && ffi_trampoline_tables != table) {
-    /* Remove from the list */
-    if (table->prev != NULL)
-      table->prev->next = table->next;
-
-    if (table->next != NULL)
-      table->next->prev = table->prev;
-
-    /* Deallocate pages */
-    kern_return_t kt;
-    kt = vm_deallocate (mach_task_self (), table->config_page, PAGE_SIZE);
-    if (kt != KERN_SUCCESS)
-      fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-
-    kt = vm_deallocate (mach_task_self (), table->trampoline_page, PAGE_SIZE);
-    if (kt != KERN_SUCCESS)
-      fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-
-    /* Deallocate free list */
-    free (table->free_list_pool);
-    free (table);
-  } else if (ffi_trampoline_tables != table) {
-    /* Otherwise, bump this table to the top of the list */
-    table->prev = NULL;
-    table->next = ffi_trampoline_tables;
-    if (ffi_trampoline_tables != NULL)
-      ffi_trampoline_tables->prev = table;
-
-    ffi_trampoline_tables = table;
-  }
-
-  pthread_mutex_unlock (&ffi_trampoline_lock);
-
-  /* Free the closure */
-  free (closure);
-}
-
-#else
-
-#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX)                             \
-({ unsigned char *__tramp = (unsigned char*)(TRAMP);                   \
-   unsigned int  __fun = (unsigned int)(FUN);                          \
-   unsigned int  __ctx = (unsigned int)(CTX);                          \
-   unsigned char *insns = (unsigned char *)(CTX);                       \
-   memcpy (__tramp, ffi_arm_trampoline, sizeof ffi_arm_trampoline);     \
-   *(unsigned int*) &__tramp[12] = __ctx;                              \
-   *(unsigned int*) &__tramp[16] = __fun;                              \
-   __clear_cache((&__tramp[0]), (&__tramp[19])); /* Clear data mapping.  */ \
-   __clear_cache(insns, insns + 3 * sizeof (unsigned int));             \
-                                                 /* Clear instruction   \
-                                                    mapping.  */        \
- })
-
-#endif
-
-/* the cif must already be prep'ed */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif*,void*,void**,void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  void (*closure_func)(ffi_closure*) = NULL;
-
-  if (cif->abi == FFI_SYSV)
-    closure_func = &ffi_closure_SYSV;
-  else if (cif->abi == FFI_VFP)
-    closure_func = &ffi_closure_VFP;
-  else
-    FFI_ASSERT (0);
-    
-#if FFI_EXEC_TRAMPOLINE_TABLE
-  void **config = FFI_TRAMPOLINE_CODELOC_CONFIG(codeloc);
-  config[0] = closure;
-  config[1] = closure_func;
-#else
-  FFI_INIT_TRAMPOLINE (&closure->tramp[0], \
-                      closure_func,  \
-                      codeloc);
-#endif
-
-  closure->cif  = cif;
-  closure->user_data = user_data;
-  closure->fun  = fun;
-
-  return FFI_OK;
-}
-
-/* Below are routines for VFP hard-float support. */
-
-static int rec_vfp_type_p (ffi_type *t, int *elt, int *elnum)
-{
-  switch (t->type)
-    {
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-      *elt = (int) t->type;
-      *elnum = 1;
-      return 1;
-
-    case FFI_TYPE_STRUCT_VFP_FLOAT:
-      *elt = FFI_TYPE_FLOAT;
-      *elnum = t->size / sizeof (float);
-      return 1;
-
-    case FFI_TYPE_STRUCT_VFP_DOUBLE:
-      *elt = FFI_TYPE_DOUBLE;
-      *elnum = t->size / sizeof (double);
-      return 1;
-
-    case FFI_TYPE_STRUCT:;
-      {
-       int base_elt = 0, total_elnum = 0;
-       ffi_type **el = t->elements;
-       while (*el)
-         {
-           int el_elt = 0, el_elnum = 0;
-           if (! rec_vfp_type_p (*el, &el_elt, &el_elnum)
-               || (base_elt && base_elt != el_elt)
-               || total_elnum + el_elnum > 4)
-             return 0;
-           base_elt = el_elt;
-           total_elnum += el_elnum;
-           el++;
-         }
-       *elnum = total_elnum;
-       *elt = base_elt;
-       return 1;
-      }
-    default: ;
-    }
-  return 0;
-}
-
-static int vfp_type_p (ffi_type *t)
-{
-  int elt, elnum;
-  if (rec_vfp_type_p (t, &elt, &elnum))
-    {
-      if (t->type == FFI_TYPE_STRUCT)
-       {
-         if (elnum == 1)
-           t->type = elt;
-         else
-           t->type = (elt == FFI_TYPE_FLOAT
-                      ? FFI_TYPE_STRUCT_VFP_FLOAT
-                      : FFI_TYPE_STRUCT_VFP_DOUBLE);
-       }
-      return (int) t->type;
-    }
-  return 0;
-}
-
-static void place_vfp_arg (ffi_cif *cif, ffi_type *t)
-{
-  int reg = cif->vfp_reg_free;
-  int nregs = t->size / sizeof (float);
-  int align = ((t->type == FFI_TYPE_STRUCT_VFP_FLOAT
-               || t->type == FFI_TYPE_FLOAT) ? 1 : 2);
-  /* Align register number. */
-  if ((reg & 1) && align == 2)
-    reg++;
-  while (reg + nregs <= 16)
-    {
-      int s, new_used = 0;
-      for (s = reg; s < reg + nregs; s++)
-       {
-         new_used |= (1 << s);
-         if (cif->vfp_used & (1 << s))
-           {
-             reg += align;
-             goto next_reg;
-           }
-       }
-      /* Found regs to allocate. */
-      cif->vfp_used |= new_used;
-      cif->vfp_args[cif->vfp_nargs++] = reg;
-
-      /* Update vfp_reg_free. */
-      if (cif->vfp_used & (1 << cif->vfp_reg_free))
-       {
-         reg += nregs;
-         while (cif->vfp_used & (1 << reg))
-           reg += 1;
-         cif->vfp_reg_free = reg;
-       }
-      return;
-    next_reg: ;
-    }
-}
-
-static void layout_vfp_args (ffi_cif *cif)
-{
-  int i;
-  /* Init VFP fields */
-  cif->vfp_used = 0;
-  cif->vfp_nargs = 0;
-  cif->vfp_reg_free = 0;
-  memset (cif->vfp_args, -1, 16); /* Init to -1. */
-
-  for (i = 0; i < cif->nargs; i++)
-    {
-      ffi_type *t = cif->arg_types[i];
-      if (vfp_type_p (t))
-       place_vfp_arg (cif, t);
-    }
-}
diff --git a/.pc/bad-abi-fix/src/avr32/ffi.c b/.pc/bad-abi-fix/src/avr32/ffi.c
deleted file mode 100644 (file)
index 39fba2b..0000000
+++ /dev/null
@@ -1,421 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 2009  Bradley Smith <brad@brad-smith.co.uk>
-
-   AVR32 Foreign Function Interface
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <asm/unistd.h>
-
-/* #define DEBUG */
-
-extern void ffi_call_SYSV(void (*)(char *, extended_cif *), extended_cif *,
-    unsigned int, unsigned int, unsigned int*, unsigned int,
-    void (*fn)(void));
-extern void ffi_closure_SYSV (ffi_closure *);
-
-unsigned int pass_struct_on_stack(ffi_type *type)
-{
-    if(type->type != FFI_TYPE_STRUCT)
-        return 0;
-
-    if(type->alignment < type->size &&
-        !(type->size == 4 || type->size == 8) &&
-        !(type->size == 8 && type->alignment >= 4))
-        return 1;
-
-    if(type->size == 3 || type->size == 5 || type->size == 6 ||
-        type->size == 7)
-        return 1;
-
-    return 0;
-}
-
-/* ffi_prep_args is called by the assembly routine once stack space
- * has been allocated for the function's arguments
- *
- * This is annoyingly complex since we need to keep track of used
- * registers.
- */
-
-void ffi_prep_args(char *stack, extended_cif *ecif)
-{
-    unsigned int i;
-    void **p_argv;
-    ffi_type **p_arg;
-    char *reg_base = stack;
-    char *stack_base = stack + 20;
-    unsigned int stack_offset = 0;
-    unsigned int reg_mask = 0;
-
-    p_argv = ecif->avalue;
-
-    /* If cif->flags is struct then we know it's not passed in registers */
-    if(ecif->cif->flags == FFI_TYPE_STRUCT)
-    {
-        *(void**)reg_base = ecif->rvalue;
-        reg_mask |= 1;
-    }
-
-    for(i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs;
-        i++, p_arg++)
-    {
-        size_t z = (*p_arg)->size;
-        int alignment = (*p_arg)->alignment;
-        int type = (*p_arg)->type;
-        char *addr = 0;
-
-        if(z % 4 != 0)
-            z += (4 - z % 4);
-
-        if(reg_mask != 0x1f)
-        {
-            if(pass_struct_on_stack(*p_arg))
-            {
-                addr = stack_base + stack_offset;
-                stack_offset += z;
-            }
-            else if(z == sizeof(int))
-            {
-                char index = 0;
-
-                while((reg_mask >> index) & 1)
-                    index++;
-
-                addr = reg_base + (index * 4);
-                reg_mask |= (1 << index);
-            }
-            else if(z == 2 * sizeof(int))
-            {
-                if(!((reg_mask >> 1) & 1))
-                {
-                    addr = reg_base + 4;
-                    reg_mask |= (3 << 1);
-                }
-                else if(!((reg_mask >> 3) & 1))
-                {
-                    addr = reg_base + 12;
-                    reg_mask |= (3 << 3);
-                }
-            }
-        }
-
-        if(!addr)
-        {
-            addr = stack_base + stack_offset;
-            stack_offset += z;
-        }
-
-        if(type == FFI_TYPE_STRUCT && (*p_arg)->elements[1] == NULL)
-            type = (*p_arg)->elements[0]->type;
-
-        switch(type)
-        {
-        case FFI_TYPE_UINT8:
-            *(unsigned int *)addr = (unsigned int)*(UINT8 *)(*p_argv);
-            break;
-        case FFI_TYPE_SINT8:
-            *(signed int *)addr = (signed int)*(SINT8 *)(*p_argv);
-            break;
-        case FFI_TYPE_UINT16:
-            *(unsigned int *)addr = (unsigned int)*(UINT16 *)(*p_argv);
-            break;
-        case FFI_TYPE_SINT16:
-            *(signed int *)addr = (signed int)*(SINT16 *)(*p_argv);
-            break;
-        default:
-            memcpy(addr, *p_argv, z);
-        }
-
-        p_argv++;
-    }
-
-#ifdef DEBUG
-    /* Debugging */
-    for(i = 0; i < 5; i++)
-    {
-        if((reg_mask & (1 << i)) == 0)
-            printf("r%d: (unused)\n", 12 - i);
-        else
-            printf("r%d: 0x%08x\n", 12 - i, ((unsigned int*)reg_base)[i]);
-    }
-
-    for(i = 0; i < stack_offset / 4; i++)
-    {
-        printf("sp+%d: 0x%08x\n", i*4, ((unsigned int*)stack_base)[i]);
-    }
-#endif
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
-    /* Round the stack up to a multiple of 8 bytes.  This isn't needed
-     * everywhere, but it is on some platforms, and it doesn't harm
-     * anything when it isn't needed. */
-    cif->bytes = (cif->bytes + 7) & ~7;
-
-    /* Flag to indicate that he return value is in fact a struct */
-    cif->rstruct_flag = 0;
-
-    /* Set the return type flag */
-    switch(cif->rtype->type)
-    {
-    case FFI_TYPE_SINT8:
-    case FFI_TYPE_UINT8:
-        cif->flags = (unsigned)FFI_TYPE_UINT8;
-        break;
-    case FFI_TYPE_SINT16:
-    case FFI_TYPE_UINT16:
-        cif->flags = (unsigned)FFI_TYPE_UINT16;
-        break;
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_SINT32:
-    case FFI_TYPE_UINT32:
-    case FFI_TYPE_POINTER:
-        cif->flags = (unsigned)FFI_TYPE_UINT32;
-        break;
-    case FFI_TYPE_DOUBLE:
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_UINT64:
-        cif->flags = (unsigned)FFI_TYPE_UINT64;
-        break;
-    case FFI_TYPE_STRUCT:
-        cif->rstruct_flag = 1;
-        if(!pass_struct_on_stack(cif->rtype))
-        {
-            if(cif->rtype->size <= 1)
-                cif->flags = (unsigned)FFI_TYPE_UINT8;
-            else if(cif->rtype->size <= 2)
-                cif->flags = (unsigned)FFI_TYPE_UINT16;
-            else if(cif->rtype->size <= 4)
-                cif->flags = (unsigned)FFI_TYPE_UINT32;
-            else if(cif->rtype->size <= 8)
-                cif->flags = (unsigned)FFI_TYPE_UINT64;
-            else
-                cif->flags = (unsigned)cif->rtype->type;
-        }
-        else
-            cif->flags = (unsigned)cif->rtype->type;
-        break;
-    default:
-        cif->flags = (unsigned)cif->rtype->type;
-        break;
-    }
-
-    return FFI_OK;
-}
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-    extended_cif ecif;
-
-    unsigned int size = 0, i = 0;
-    ffi_type **p_arg;
-
-    ecif.cif = cif;
-    ecif.avalue = avalue;
-
-    for(i = 0, p_arg = cif->arg_types; i < cif->nargs; i++, p_arg++)
-        size += (*p_arg)->size + (4 - (*p_arg)->size % 4);
-
-    /* If the return value is a struct and we don't have a return value
-     * address then we need to make one */
-
-    /* If cif->flags is struct then it's not suitable for registers */
-    if((rvalue == NULL) && (cif->flags == FFI_TYPE_STRUCT))
-        ecif.rvalue = alloca(cif->rtype->size);
-    else
-        ecif.rvalue = rvalue;
-
-    switch(cif->abi)
-    {
-    case FFI_SYSV:
-        ffi_call_SYSV(ffi_prep_args, &ecif, size, cif->flags,
-            ecif.rvalue, cif->rstruct_flag, fn);
-        break;
-    default:
-        FFI_ASSERT(0);
-        break;
-    }
-}
-
-static void ffi_prep_incoming_args_SYSV(char *stack, void **rvalue,
-    void **avalue, ffi_cif *cif)
-{
-    register unsigned int i, reg_mask = 0;
-    register void **p_argv;
-    register ffi_type **p_arg;
-    register char *reg_base = stack;
-    register char *stack_base = stack + 20;
-    register unsigned int stack_offset = 0;
-
-#ifdef DEBUG
-    /* Debugging */
-    for(i = 0; i < cif->nargs + 7; i++)
-    {
-        printf("sp+%d: 0x%08x\n", i*4, ((unsigned int*)stack)[i]);
-    }
-#endif
-
-    /* If cif->flags is struct then we know it's not passed in registers */
-    if(cif->flags == FFI_TYPE_STRUCT)
-    {
-        *rvalue = *(void **)reg_base;
-        reg_mask |= 1;
-    }
-
-    p_argv = avalue;
-
-    for(i = 0, p_arg = cif->arg_types; i < cif->nargs; i++, p_arg++)
-    {
-        size_t z = (*p_arg)->size;
-        int alignment = (*p_arg)->alignment;
-
-        *p_argv = 0;
-
-        if(z % 4 != 0)
-            z += (4 - z % 4);
-
-        if(reg_mask != 0x1f)
-        {
-            if(pass_struct_on_stack(*p_arg))
-            {
-                *p_argv = (void*)stack_base + stack_offset;
-                stack_offset += z;
-            }
-            else if(z <= sizeof(int))
-            {
-                char index = 0;
-
-                while((reg_mask >> index) & 1)
-                    index++;
-
-                *p_argv = (void*)reg_base + (index * 4);
-                reg_mask |= (1 << index);
-            }
-            else if(z == 2 * sizeof(int))
-            {
-                if(!((reg_mask >> 1) & 1))
-                {
-                    *p_argv = (void*)reg_base + 4;
-                    reg_mask |= (3 << 1);
-                }
-                else if(!((reg_mask >> 3) & 1))
-                {
-                    *p_argv = (void*)reg_base + 12;
-                    reg_mask |= (3 << 3);
-                }
-            }
-        }
-
-        if(!*p_argv)
-        {
-            *p_argv = (void*)stack_base + stack_offset;
-            stack_offset += z;
-        }
-
-        if((*p_arg)->type != FFI_TYPE_STRUCT ||
-            (*p_arg)->elements[1] == NULL)
-        {
-            if(alignment == 1)
-                **(unsigned int**)p_argv <<= 24;
-            else if(alignment == 2)
-                **(unsigned int**)p_argv <<= 16;
-        }
-
-        p_argv++;
-    }
-
-#ifdef DEBUG
-    /* Debugging */
-    for(i = 0; i < cif->nargs; i++)
-    {
-        printf("sp+%d: 0x%08x\n", i*4, *(((unsigned int**)avalue)[i]));
-    }
-#endif
-}
-
-/* This function is jumped to by the trampoline */
-
-unsigned int ffi_closure_SYSV_inner(ffi_closure *closure, void **respp,
-    void *args)
-{
-    ffi_cif *cif;
-    void **arg_area;
-    unsigned int i, size = 0;
-    ffi_type **p_arg;
-
-    cif = closure->cif;
-
-    for(i = 0, p_arg = cif->arg_types; i < cif->nargs; i++, p_arg++)
-        size += (*p_arg)->size + (4 - (*p_arg)->size % 4);
-
-    arg_area = (void **)alloca(size);
-
-    /* this call will initialize ARG_AREA, such that each element in that
-     * array points to the corresponding value on the stack; and if the
-     * function returns a structure, it will re-set RESP to point to the
-     * structure return address. */
-
-    ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif);
-
-    (closure->fun)(cif, *respp, arg_area, closure->user_data);
-
-    return cif->flags;
-}
-
-ffi_status ffi_prep_closure_loc(ffi_closure* closure, ffi_cif* cif,
-    void (*fun)(ffi_cif*, void*, void**, void*), void *user_data,
-    void *codeloc)
-{
-    FFI_ASSERT(cif->abi == FFI_SYSV);
-
-    unsigned char *__tramp = (unsigned char*)(&closure->tramp[0]);
-    unsigned int  __fun = (unsigned int)(&ffi_closure_SYSV);
-    unsigned int  __ctx = (unsigned int)(codeloc);
-    unsigned int  __rstruct_flag = (unsigned int)(cif->rstruct_flag);
-    unsigned int  __inner = (unsigned int)(&ffi_closure_SYSV_inner);
-    *(unsigned int*) &__tramp[0] = 0xebcd1f00;    /* pushm  r8-r12 */
-    *(unsigned int*) &__tramp[4] = 0xfefc0010;    /* ld.w   r12, pc[16] */
-    *(unsigned int*) &__tramp[8] = 0xfefb0010;    /* ld.w   r11, pc[16] */
-    *(unsigned int*) &__tramp[12] = 0xfefa0010;   /* ld.w   r10, pc[16] */
-    *(unsigned int*) &__tramp[16] = 0xfeff0010;   /* ld.w   pc, pc[16] */
-    *(unsigned int*) &__tramp[20] = __ctx;
-    *(unsigned int*) &__tramp[24] = __rstruct_flag;
-    *(unsigned int*) &__tramp[28] = __inner;
-    *(unsigned int*) &__tramp[32] = __fun;
-    syscall(__NR_cacheflush, 0, (&__tramp[0]), 36);
-
-    closure->cif = cif;
-    closure->user_data = user_data;
-    closure->fun  = fun;
-
-    return FFI_OK;
-}
-
diff --git a/.pc/bad-abi-fix/src/ia64/ffi.c b/.pc/bad-abi-fix/src/ia64/ffi.c
deleted file mode 100644 (file)
index 79e29b4..0000000
+++ /dev/null
@@ -1,584 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 1998, 2007, 2008, 2012 Red Hat, Inc.
-          Copyright (c) 2000 Hewlett Packard Company
-   
-   IA64 Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdbool.h>
-#include <float.h>
-
-#include "ia64_flags.h"
-
-/* A 64-bit pointer value.  In LP64 mode, this is effectively a plain
-   pointer.  In ILP32 mode, it's a pointer that's been extended to 
-   64 bits by "addp4".  */
-typedef void *PTR64 __attribute__((mode(DI)));
-
-/* Memory image of fp register contents.  This is the implementation
-   specific format used by ldf.fill/stf.spill.  All we care about is
-   that it wants a 16 byte aligned slot.  */
-typedef struct
-{
-  UINT64 x[2] __attribute__((aligned(16)));
-} fpreg;
-
-
-/* The stack layout given to ffi_call_unix and ffi_closure_unix_inner.  */
-
-struct ia64_args
-{
-  fpreg fp_regs[8];    /* Contents of 8 fp arg registers.  */
-  UINT64 gp_regs[8];   /* Contents of 8 gp arg registers.  */
-  UINT64 other_args[]; /* Arguments passed on stack, variable size.  */
-};
-
-
-/* Adjust ADDR, a pointer to an 8 byte slot, to point to the low LEN bytes.  */
-
-static inline void *
-endian_adjust (void *addr, size_t len)
-{
-#ifdef __BIG_ENDIAN__
-  return addr + (8 - len);
-#else
-  return addr;
-#endif
-}
-
-/* Store VALUE to ADDR in the current cpu implementation's fp spill format.
-   This is a macro instead of a function, so that it works for all 3 floating
-   point types without type conversions.  Type conversion to long double breaks
-   the denorm support.  */
-
-#define stf_spill(addr, value) \
-  asm ("stf.spill %0 = %1%P0" : "=m" (*addr) : "f"(value));
-
-/* Load a value from ADDR, which is in the current cpu implementation's
-   fp spill format.  As above, this must also be a macro.  */
-
-#define ldf_fill(result, addr) \
-  asm ("ldf.fill %0 = %1%P1" : "=f"(result) : "m"(*addr));
-
-/* Return the size of the C type associated with with TYPE.  Which will
-   be one of the FFI_IA64_TYPE_HFA_* values.  */
-
-static size_t
-hfa_type_size (int type)
-{
-  switch (type)
-    {
-    case FFI_IA64_TYPE_HFA_FLOAT:
-      return sizeof(float);
-    case FFI_IA64_TYPE_HFA_DOUBLE:
-      return sizeof(double);
-    case FFI_IA64_TYPE_HFA_LDOUBLE:
-      return sizeof(__float80);
-    default:
-      abort ();
-    }
-}
-
-/* Load from ADDR a value indicated by TYPE.  Which will be one of
-   the FFI_IA64_TYPE_HFA_* values.  */
-
-static void
-hfa_type_load (fpreg *fpaddr, int type, void *addr)
-{
-  switch (type)
-    {
-    case FFI_IA64_TYPE_HFA_FLOAT:
-      stf_spill (fpaddr, *(float *) addr);
-      return;
-    case FFI_IA64_TYPE_HFA_DOUBLE:
-      stf_spill (fpaddr, *(double *) addr);
-      return;
-    case FFI_IA64_TYPE_HFA_LDOUBLE:
-      stf_spill (fpaddr, *(__float80 *) addr);
-      return;
-    default:
-      abort ();
-    }
-}
-
-/* Load VALUE into ADDR as indicated by TYPE.  Which will be one of
-   the FFI_IA64_TYPE_HFA_* values.  */
-
-static void
-hfa_type_store (int type, void *addr, fpreg *fpaddr)
-{
-  switch (type)
-    {
-    case FFI_IA64_TYPE_HFA_FLOAT:
-      {
-       float result;
-       ldf_fill (result, fpaddr);
-       *(float *) addr = result;
-       break;
-      }
-    case FFI_IA64_TYPE_HFA_DOUBLE:
-      {
-       double result;
-       ldf_fill (result, fpaddr);
-       *(double *) addr = result;
-       break;
-      }
-    case FFI_IA64_TYPE_HFA_LDOUBLE:
-      {
-       __float80 result;
-       ldf_fill (result, fpaddr);
-       *(__float80 *) addr = result;
-       break;
-      }
-    default:
-      abort ();
-    }
-}
-
-/* Is TYPE a struct containing floats, doubles, or extended doubles,
-   all of the same fp type?  If so, return the element type.  Return
-   FFI_TYPE_VOID if not.  */
-
-static int
-hfa_element_type (ffi_type *type, int nested)
-{
-  int element = FFI_TYPE_VOID;
-
-  switch (type->type)
-    {
-    case FFI_TYPE_FLOAT:
-      /* We want to return VOID for raw floating-point types, but the
-        synthetic HFA type if we're nested within an aggregate.  */
-      if (nested)
-       element = FFI_IA64_TYPE_HFA_FLOAT;
-      break;
-
-    case FFI_TYPE_DOUBLE:
-      /* Similarly.  */
-      if (nested)
-       element = FFI_IA64_TYPE_HFA_DOUBLE;
-      break;
-
-    case FFI_TYPE_LONGDOUBLE:
-      /* Similarly, except that that HFA is true for double extended,
-        but not quad precision.  Both have sizeof == 16, so tell the
-        difference based on the precision.  */
-      if (LDBL_MANT_DIG == 64 && nested)
-       element = FFI_IA64_TYPE_HFA_LDOUBLE;
-      break;
-
-    case FFI_TYPE_STRUCT:
-      {
-       ffi_type **ptr = &type->elements[0];
-
-       for (ptr = &type->elements[0]; *ptr ; ptr++)
-         {
-           int sub_element = hfa_element_type (*ptr, 1);
-           if (sub_element == FFI_TYPE_VOID)
-             return FFI_TYPE_VOID;
-
-           if (element == FFI_TYPE_VOID)
-             element = sub_element;
-           else if (element != sub_element)
-             return FFI_TYPE_VOID;
-         }
-      }
-      break;
-
-    default:
-      return FFI_TYPE_VOID;
-    }
-
-  return element;
-}
-
-
-/* Perform machine dependent cif processing. */
-
-ffi_status
-ffi_prep_cif_machdep(ffi_cif *cif)
-{
-  int flags;
-
-  /* Adjust cif->bytes to include space for the bits of the ia64_args frame
-     that precedes the integer register portion.  The estimate that the
-     generic bits did for the argument space required is good enough for the
-     integer component.  */
-  cif->bytes += offsetof(struct ia64_args, gp_regs[0]);
-  if (cif->bytes < sizeof(struct ia64_args))
-    cif->bytes = sizeof(struct ia64_args);
-
-  /* Set the return type flag. */
-  flags = cif->rtype->type;
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_LONGDOUBLE:
-      /* Leave FFI_TYPE_LONGDOUBLE as meaning double extended precision,
-        and encode quad precision as a two-word integer structure.  */
-      if (LDBL_MANT_DIG != 64)
-       flags = FFI_IA64_TYPE_SMALL_STRUCT | (16 << 8);
-      break;
-
-    case FFI_TYPE_STRUCT:
-      {
-        size_t size = cif->rtype->size;
-       int hfa_type = hfa_element_type (cif->rtype, 0);
-
-       if (hfa_type != FFI_TYPE_VOID)
-         {
-           size_t nelts = size / hfa_type_size (hfa_type);
-           if (nelts <= 8)
-             flags = hfa_type | (size << 8);
-         }
-       else
-         {
-           if (size <= 32)
-             flags = FFI_IA64_TYPE_SMALL_STRUCT | (size << 8);
-         }
-      }
-      break;
-
-    default:
-      break;
-    }
-  cif->flags = flags;
-
-  return FFI_OK;
-}
-
-extern int ffi_call_unix (struct ia64_args *, PTR64, void (*)(void), UINT64);
-
-void
-ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  struct ia64_args *stack;
-  long i, avn, gpcount, fpcount;
-  ffi_type **p_arg;
-
-  FFI_ASSERT (cif->abi == FFI_UNIX);
-
-  /* If we have no spot for a return value, make one.  */
-  if (rvalue == NULL && cif->rtype->type != FFI_TYPE_VOID)
-    rvalue = alloca (cif->rtype->size);
-    
-  /* Allocate the stack frame.  */
-  stack = alloca (cif->bytes);
-
-  gpcount = fpcount = 0;
-  avn = cif->nargs;
-  for (i = 0, p_arg = cif->arg_types; i < avn; i++, p_arg++)
-    {
-      switch ((*p_arg)->type)
-       {
-       case FFI_TYPE_SINT8:
-         stack->gp_regs[gpcount++] = *(SINT8 *)avalue[i];
-         break;
-       case FFI_TYPE_UINT8:
-         stack->gp_regs[gpcount++] = *(UINT8 *)avalue[i];
-         break;
-       case FFI_TYPE_SINT16:
-         stack->gp_regs[gpcount++] = *(SINT16 *)avalue[i];
-         break;
-       case FFI_TYPE_UINT16:
-         stack->gp_regs[gpcount++] = *(UINT16 *)avalue[i];
-         break;
-       case FFI_TYPE_SINT32:
-         stack->gp_regs[gpcount++] = *(SINT32 *)avalue[i];
-         break;
-       case FFI_TYPE_UINT32:
-         stack->gp_regs[gpcount++] = *(UINT32 *)avalue[i];
-         break;
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_UINT64:
-         stack->gp_regs[gpcount++] = *(UINT64 *)avalue[i];
-         break;
-
-       case FFI_TYPE_POINTER:
-         stack->gp_regs[gpcount++] = (UINT64)(PTR64) *(void **)avalue[i];
-         break;
-
-       case FFI_TYPE_FLOAT:
-         if (gpcount < 8 && fpcount < 8)
-           stf_spill (&stack->fp_regs[fpcount++], *(float *)avalue[i]);
-         {
-           UINT32 tmp;
-           memcpy (&tmp, avalue[i], sizeof (UINT32));
-           stack->gp_regs[gpcount++] = tmp;
-         }
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         if (gpcount < 8 && fpcount < 8)
-           stf_spill (&stack->fp_regs[fpcount++], *(double *)avalue[i]);
-         memcpy (&stack->gp_regs[gpcount++], avalue[i], sizeof (UINT64));
-         break;
-
-       case FFI_TYPE_LONGDOUBLE:
-         if (gpcount & 1)
-           gpcount++;
-         if (LDBL_MANT_DIG == 64 && gpcount < 8 && fpcount < 8)
-           stf_spill (&stack->fp_regs[fpcount++], *(__float80 *)avalue[i]);
-         memcpy (&stack->gp_regs[gpcount], avalue[i], 16);
-         gpcount += 2;
-         break;
-
-       case FFI_TYPE_STRUCT:
-         {
-           size_t size = (*p_arg)->size;
-           size_t align = (*p_arg)->alignment;
-           int hfa_type = hfa_element_type (*p_arg, 0);
-
-           FFI_ASSERT (align <= 16);
-           if (align == 16 && (gpcount & 1))
-             gpcount++;
-
-           if (hfa_type != FFI_TYPE_VOID)
-             {
-               size_t hfa_size = hfa_type_size (hfa_type);
-               size_t offset = 0;
-               size_t gp_offset = gpcount * 8;
-
-               while (fpcount < 8
-                      && offset < size
-                      && gp_offset < 8 * 8)
-                 {
-                   hfa_type_load (&stack->fp_regs[fpcount], hfa_type,
-                                  avalue[i] + offset);
-                   offset += hfa_size;
-                   gp_offset += hfa_size;
-                   fpcount += 1;
-                 }
-             }
-
-           memcpy (&stack->gp_regs[gpcount], avalue[i], size);
-           gpcount += (size + 7) / 8;
-         }
-         break;
-
-       default:
-         abort ();
-       }
-    }
-
-  ffi_call_unix (stack, rvalue, fn, cif->flags);
-}
-
-/* Closures represent a pair consisting of a function pointer, and
-   some user data.  A closure is invoked by reinterpreting the closure
-   as a function pointer, and branching to it.  Thus we can make an
-   interpreted function callable as a C function: We turn the
-   interpreter itself, together with a pointer specifying the
-   interpreted procedure, into a closure.
-
-   For IA64, function pointer are already pairs consisting of a code
-   pointer, and a gp pointer.  The latter is needed to access global
-   variables.  Here we set up such a pair as the first two words of
-   the closure (in the "trampoline" area), but we replace the gp
-   pointer with a pointer to the closure itself.  We also add the real
-   gp pointer to the closure.  This allows the function entry code to
-   both retrieve the user data, and to restire the correct gp pointer.  */
-
-extern void ffi_closure_unix ();
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif*,void*,void**,void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  /* The layout of a function descriptor.  A C function pointer really 
-     points to one of these.  */
-  struct ia64_fd
-  {
-    UINT64 code_pointer;
-    UINT64 gp;
-  };
-
-  struct ffi_ia64_trampoline_struct
-  {
-    UINT64 code_pointer;       /* Pointer to ffi_closure_unix.  */
-    UINT64 fake_gp;            /* Pointer to closure, installed as gp.  */
-    UINT64 real_gp;            /* Real gp value.  */
-  };
-
-  struct ffi_ia64_trampoline_struct *tramp;
-  struct ia64_fd *fd;
-
-  FFI_ASSERT (cif->abi == FFI_UNIX);
-
-  tramp = (struct ffi_ia64_trampoline_struct *)closure->tramp;
-  fd = (struct ia64_fd *)(void *)ffi_closure_unix;
-
-  tramp->code_pointer = fd->code_pointer;
-  tramp->real_gp = fd->gp;
-  tramp->fake_gp = (UINT64)(PTR64)codeloc;
-  closure->cif = cif;
-  closure->user_data = user_data;
-  closure->fun = fun;
-
-  return FFI_OK;
-}
-
-
-UINT64
-ffi_closure_unix_inner (ffi_closure *closure, struct ia64_args *stack,
-                       void *rvalue, void *r8)
-{
-  ffi_cif *cif;
-  void **avalue;
-  ffi_type **p_arg;
-  long i, avn, gpcount, fpcount;
-
-  cif = closure->cif;
-  avn = cif->nargs;
-  avalue = alloca (avn * sizeof (void *));
-
-  /* If the structure return value is passed in memory get that location
-     from r8 so as to pass the value directly back to the caller.  */
-  if (cif->flags == FFI_TYPE_STRUCT)
-    rvalue = r8;
-
-  gpcount = fpcount = 0;
-  for (i = 0, p_arg = cif->arg_types; i < avn; i++, p_arg++)
-    {
-      switch ((*p_arg)->type)
-       {
-       case FFI_TYPE_SINT8:
-       case FFI_TYPE_UINT8:
-         avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], 1);
-         break;
-       case FFI_TYPE_SINT16:
-       case FFI_TYPE_UINT16:
-         avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], 2);
-         break;
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_UINT32:
-         avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], 4);
-         break;
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_UINT64:
-         avalue[i] = &stack->gp_regs[gpcount++];
-         break;
-       case FFI_TYPE_POINTER:
-         avalue[i] = endian_adjust(&stack->gp_regs[gpcount++], sizeof(void*));
-         break;
-
-       case FFI_TYPE_FLOAT:
-         if (gpcount < 8 && fpcount < 8)
-           {
-             fpreg *addr = &stack->fp_regs[fpcount++];
-             float result;
-             avalue[i] = addr;
-             ldf_fill (result, addr);
-             *(float *)addr = result;
-           }
-         else
-           avalue[i] = endian_adjust(&stack->gp_regs[gpcount], 4);
-         gpcount++;
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         if (gpcount < 8 && fpcount < 8)
-           {
-             fpreg *addr = &stack->fp_regs[fpcount++];
-             double result;
-             avalue[i] = addr;
-             ldf_fill (result, addr);
-             *(double *)addr = result;
-           }
-         else
-           avalue[i] = &stack->gp_regs[gpcount];
-         gpcount++;
-         break;
-
-       case FFI_TYPE_LONGDOUBLE:
-         if (gpcount & 1)
-           gpcount++;
-         if (LDBL_MANT_DIG == 64 && gpcount < 8 && fpcount < 8)
-           {
-             fpreg *addr = &stack->fp_regs[fpcount++];
-             __float80 result;
-             avalue[i] = addr;
-             ldf_fill (result, addr);
-             *(__float80 *)addr = result;
-           }
-         else
-           avalue[i] = &stack->gp_regs[gpcount];
-         gpcount += 2;
-         break;
-
-       case FFI_TYPE_STRUCT:
-         {
-           size_t size = (*p_arg)->size;
-           size_t align = (*p_arg)->alignment;
-           int hfa_type = hfa_element_type (*p_arg, 0);
-
-           FFI_ASSERT (align <= 16);
-           if (align == 16 && (gpcount & 1))
-             gpcount++;
-
-           if (hfa_type != FFI_TYPE_VOID)
-             {
-               size_t hfa_size = hfa_type_size (hfa_type);
-               size_t offset = 0;
-               size_t gp_offset = gpcount * 8;
-               void *addr = alloca (size);
-
-               avalue[i] = addr;
-
-               while (fpcount < 8
-                      && offset < size
-                      && gp_offset < 8 * 8)
-                 {
-                   hfa_type_store (hfa_type, addr + offset,
-                                   &stack->fp_regs[fpcount]);
-                   offset += hfa_size;
-                   gp_offset += hfa_size;
-                   fpcount += 1;
-                 }
-
-               if (offset < size)
-                 memcpy (addr + offset, (char *)stack->gp_regs + gp_offset,
-                         size - offset);
-             }
-           else
-             avalue[i] = &stack->gp_regs[gpcount];
-
-           gpcount += (size + 7) / 8;
-         }
-         break;
-
-       default:
-         abort ();
-       }
-    }
-
-  closure->fun (cif, rvalue, avalue, closure->user_data);
-
-  return cif->flags;
-}
diff --git a/.pc/bad-abi-fix/src/mips/ffi.c b/.pc/bad-abi-fix/src/mips/ffi.c
deleted file mode 100644 (file)
index d714cc9..0000000
+++ /dev/null
@@ -1,1029 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 1996, 2007, 2008  Red Hat, Inc.
-           Copyright (c) 2008       David Daney
-   
-   MIPS Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-#ifdef __GNUC__
-#  if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))
-#    define USE__BUILTIN___CLEAR_CACHE 1
-#  endif
-#endif
-
-#ifndef USE__BUILTIN___CLEAR_CACHE
-#include <sys/cachectl.h>
-#endif
-
-#ifdef FFI_DEBUG
-# define FFI_MIPS_STOP_HERE() ffi_stop_here()
-#else
-# define FFI_MIPS_STOP_HERE() do {} while(0)
-#endif
-
-#ifdef FFI_MIPS_N32
-#define FIX_ARGP \
-FFI_ASSERT(argp <= &stack[bytes]); \
-if (argp == &stack[bytes]) \
-{ \
-  argp = stack; \
-  FFI_MIPS_STOP_HERE(); \
-}
-#else
-#define FIX_ARGP 
-#endif
-
-
-/* ffi_prep_args is called by the assembly routine once stack space
-   has been allocated for the function's arguments */
-
-static void ffi_prep_args(char *stack, 
-                         extended_cif *ecif,
-                         int bytes,
-                         int flags)
-{
-  int i;
-  void **p_argv;
-  char *argp;
-  ffi_type **p_arg;
-
-#ifdef FFI_MIPS_N32
-  /* If more than 8 double words are used, the remainder go
-     on the stack. We reorder stuff on the stack here to 
-     support this easily. */
-  if (bytes > 8 * sizeof(ffi_arg))
-    argp = &stack[bytes - (8 * sizeof(ffi_arg))];
-  else
-    argp = stack;
-#else
-  argp = stack;
-#endif
-
-  memset(stack, 0, bytes);
-
-#ifdef FFI_MIPS_N32
-  if ( ecif->cif->rstruct_flag != 0 )
-#else
-  if ( ecif->cif->rtype->type == FFI_TYPE_STRUCT )
-#endif  
-    {
-      *(ffi_arg *) argp = (ffi_arg) ecif->rvalue;
-      argp += sizeof(ffi_arg);
-      FIX_ARGP;
-    }
-
-  p_argv = ecif->avalue;
-
-  for (i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs; i++, p_arg++)
-    {
-      size_t z;
-      unsigned int a;
-
-      /* Align if necessary.  */
-      a = (*p_arg)->alignment;
-      if (a < sizeof(ffi_arg))
-        a = sizeof(ffi_arg);
-      
-      if ((a - 1) & (unsigned long) argp)
-       {
-         argp = (char *) ALIGN(argp, a);
-         FIX_ARGP;
-       }
-
-      z = (*p_arg)->size;
-      if (z <= sizeof(ffi_arg))
-       {
-          int type = (*p_arg)->type;
-         z = sizeof(ffi_arg);
-
-          /* The size of a pointer depends on the ABI */
-          if (type == FFI_TYPE_POINTER)
-            type = (ecif->cif->abi == FFI_N64
-                   || ecif->cif->abi == FFI_N64_SOFT_FLOAT)
-             ? FFI_TYPE_SINT64 : FFI_TYPE_SINT32;
-
-       if (i < 8 && (ecif->cif->abi == FFI_N32_SOFT_FLOAT
-                     || ecif->cif->abi == FFI_N64_SOFT_FLOAT))
-         {
-           switch (type)
-             {
-             case FFI_TYPE_FLOAT:
-               type = FFI_TYPE_UINT32;
-               break;
-             case FFI_TYPE_DOUBLE:
-               type = FFI_TYPE_UINT64;
-               break;
-             default:
-               break;
-             }
-         }
-         switch (type)
-           {
-             case FFI_TYPE_SINT8:
-               *(ffi_arg *)argp = *(SINT8 *)(* p_argv);
-               break;
-
-             case FFI_TYPE_UINT8:
-               *(ffi_arg *)argp = *(UINT8 *)(* p_argv);
-               break;
-                 
-             case FFI_TYPE_SINT16:
-               *(ffi_arg *)argp = *(SINT16 *)(* p_argv);
-               break;
-                 
-             case FFI_TYPE_UINT16:
-               *(ffi_arg *)argp = *(UINT16 *)(* p_argv);
-               break;
-                 
-             case FFI_TYPE_SINT32:
-               *(ffi_arg *)argp = *(SINT32 *)(* p_argv);
-               break;
-                 
-             case FFI_TYPE_UINT32:
-               *(ffi_arg *)argp = *(UINT32 *)(* p_argv);
-               break;
-
-             /* This can only happen with 64bit slots.  */
-             case FFI_TYPE_FLOAT:
-               *(float *) argp = *(float *)(* p_argv);
-               break;
-
-             /* Handle structures.  */
-             default:
-               memcpy(argp, *p_argv, (*p_arg)->size);
-               break;
-           }
-       }
-      else
-       {
-#ifdef FFI_MIPS_O32
-         memcpy(argp, *p_argv, z);
-#else
-         {
-           unsigned long end = (unsigned long) argp + z;
-           unsigned long cap = (unsigned long) stack + bytes;
-
-           /* Check if the data will fit within the register space.
-              Handle it if it doesn't.  */
-
-           if (end <= cap)
-             memcpy(argp, *p_argv, z);
-           else
-             {
-               unsigned long portion = cap - (unsigned long)argp;
-
-               memcpy(argp, *p_argv, portion);
-               argp = stack;
-                z -= portion;
-               memcpy(argp, (void*)((unsigned long)(*p_argv) + portion),
-                       z);
-             }
-         }
-#endif
-      }
-      p_argv++;
-      argp += z;
-      FIX_ARGP;
-    }
-}
-
-#ifdef FFI_MIPS_N32
-
-/* The n32 spec says that if "a chunk consists solely of a double 
-   float field (but not a double, which is part of a union), it
-   is passed in a floating point register. Any other chunk is
-   passed in an integer register". This code traverses structure
-   definitions and generates the appropriate flags. */
-
-static unsigned
-calc_n32_struct_flags(int soft_float, ffi_type *arg,
-                     unsigned *loc, unsigned *arg_reg)
-{
-  unsigned flags = 0;
-  unsigned index = 0;
-
-  ffi_type *e;
-
-  if (soft_float)
-    return 0;
-
-  while ((e = arg->elements[index]))
-    {
-      /* Align this object.  */
-      *loc = ALIGN(*loc, e->alignment);
-      if (e->type == FFI_TYPE_DOUBLE)
-       {
-          /* Already aligned to FFI_SIZEOF_ARG.  */
-          *arg_reg = *loc / FFI_SIZEOF_ARG;
-          if (*arg_reg > 7)
-            break;
-         flags += (FFI_TYPE_DOUBLE << (*arg_reg * FFI_FLAG_BITS));
-          *loc += e->size;
-       }
-      else
-        *loc += e->size;
-      index++;
-    }
-  /* Next Argument register at alignment of FFI_SIZEOF_ARG.  */
-  *arg_reg = ALIGN(*loc, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-
-  return flags;
-}
-
-static unsigned
-calc_n32_return_struct_flags(int soft_float, ffi_type *arg)
-{
-  unsigned flags = 0;
-  unsigned small = FFI_TYPE_SMALLSTRUCT;
-  ffi_type *e;
-
-  /* Returning structures under n32 is a tricky thing.
-     A struct with only one or two floating point fields 
-     is returned in $f0 (and $f2 if necessary). Any other
-     struct results at most 128 bits are returned in $2
-     (the first 64 bits) and $3 (remainder, if necessary).
-     Larger structs are handled normally. */
-  
-  if (arg->size > 16)
-    return 0;
-
-  if (arg->size > 8)
-    small = FFI_TYPE_SMALLSTRUCT2;
-
-  e = arg->elements[0];
-
-  if (e->type == FFI_TYPE_DOUBLE)
-    flags = FFI_TYPE_DOUBLE;
-  else if (e->type == FFI_TYPE_FLOAT)
-    flags = FFI_TYPE_FLOAT;
-
-  if (flags && (e = arg->elements[1]))
-    {
-      if (e->type == FFI_TYPE_DOUBLE)
-       flags += FFI_TYPE_DOUBLE << FFI_FLAG_BITS;
-      else if (e->type == FFI_TYPE_FLOAT)
-       flags += FFI_TYPE_FLOAT << FFI_FLAG_BITS;
-      else 
-       return small;
-
-      if (flags && (arg->elements[2]))
-       {
-         /* There are three arguments and the first two are 
-            floats! This must be passed the old way. */
-         return small;
-       }
-      if (soft_float)
-       flags += FFI_TYPE_STRUCT_SOFT;
-    }
-  else
-    if (!flags)
-      return small;
-
-  return flags;
-}
-
-#endif
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
-  cif->flags = 0;
-
-#ifdef FFI_MIPS_O32
-  /* Set the flags necessary for O32 processing.  FFI_O32_SOFT_FLOAT
-   * does not have special handling for floating point args.
-   */
-
-  if (cif->rtype->type != FFI_TYPE_STRUCT && cif->abi == FFI_O32)
-    {
-      if (cif->nargs > 0)
-       {
-         switch ((cif->arg_types)[0]->type)
-           {
-           case FFI_TYPE_FLOAT:
-           case FFI_TYPE_DOUBLE:
-             cif->flags += (cif->arg_types)[0]->type;
-             break;
-             
-           default:
-             break;
-           }
-
-         if (cif->nargs > 1)
-           {
-             /* Only handle the second argument if the first
-                is a float or double. */
-             if (cif->flags)
-               {
-                 switch ((cif->arg_types)[1]->type)
-                   {
-                   case FFI_TYPE_FLOAT:
-                   case FFI_TYPE_DOUBLE:
-                     cif->flags += (cif->arg_types)[1]->type << FFI_FLAG_BITS;
-                     break;
-                     
-                   default:
-                     break;
-                   }
-               }
-           }
-       }
-    }
-      
-  /* Set the return type flag */
-
-  if (cif->abi == FFI_O32_SOFT_FLOAT)
-    {
-      switch (cif->rtype->type)
-        {
-        case FFI_TYPE_VOID:
-        case FFI_TYPE_STRUCT:
-          cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 2);
-          break;
-
-        case FFI_TYPE_SINT64:
-        case FFI_TYPE_UINT64:
-        case FFI_TYPE_DOUBLE:
-          cif->flags += FFI_TYPE_UINT64 << (FFI_FLAG_BITS * 2);
-          break;
-      
-        case FFI_TYPE_FLOAT:
-        default:
-          cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 2);
-          break;
-        }
-    }
-  else
-    {
-      /* FFI_O32 */      
-      switch (cif->rtype->type)
-        {
-        case FFI_TYPE_VOID:
-        case FFI_TYPE_STRUCT:
-        case FFI_TYPE_FLOAT:
-        case FFI_TYPE_DOUBLE:
-          cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 2);
-          break;
-
-        case FFI_TYPE_SINT64:
-        case FFI_TYPE_UINT64:
-          cif->flags += FFI_TYPE_UINT64 << (FFI_FLAG_BITS * 2);
-          break;
-      
-        default:
-          cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 2);
-          break;
-        }
-    }
-#endif
-
-#ifdef FFI_MIPS_N32
-  /* Set the flags necessary for N32 processing */
-  {
-    int type;
-    unsigned arg_reg = 0;
-    unsigned loc = 0;
-    unsigned count = (cif->nargs < 8) ? cif->nargs : 8;
-    unsigned index = 0;
-
-    unsigned struct_flags = 0;
-    int soft_float = (cif->abi == FFI_N32_SOFT_FLOAT
-                     || cif->abi == FFI_N64_SOFT_FLOAT);
-
-    if (cif->rtype->type == FFI_TYPE_STRUCT)
-      {
-       struct_flags = calc_n32_return_struct_flags(soft_float, cif->rtype);
-
-       if (struct_flags == 0)
-         {
-           /* This means that the structure is being passed as
-              a hidden argument */
-
-           arg_reg = 1;
-           count = (cif->nargs < 7) ? cif->nargs : 7;
-
-           cif->rstruct_flag = !0;
-         }
-       else
-           cif->rstruct_flag = 0;
-      }
-    else
-      cif->rstruct_flag = 0;
-
-    while (count-- > 0 && arg_reg < 8)
-      {
-       type = (cif->arg_types)[index]->type;
-       if (soft_float)
-         {
-           switch (type)
-             {
-             case FFI_TYPE_FLOAT:
-               type = FFI_TYPE_UINT32;
-               break;
-             case FFI_TYPE_DOUBLE:
-               type = FFI_TYPE_UINT64;
-               break;
-             default:
-               break;
-             }
-         }
-       switch (type)
-         {
-         case FFI_TYPE_FLOAT:
-         case FFI_TYPE_DOUBLE:
-           cif->flags +=
-              ((cif->arg_types)[index]->type << (arg_reg * FFI_FLAG_BITS));
-           arg_reg++;
-           break;
-          case FFI_TYPE_LONGDOUBLE:
-            /* Align it.  */
-            arg_reg = ALIGN(arg_reg, 2);
-            /* Treat it as two adjacent doubles.  */
-           if (soft_float) 
-             {
-               arg_reg += 2;
-             }
-           else
-             {
-               cif->flags +=
-                 (FFI_TYPE_DOUBLE << (arg_reg * FFI_FLAG_BITS));
-               arg_reg++;
-               cif->flags +=
-                 (FFI_TYPE_DOUBLE << (arg_reg * FFI_FLAG_BITS));
-               arg_reg++;
-             }
-            break;
-
-         case FFI_TYPE_STRUCT:
-            loc = arg_reg * FFI_SIZEOF_ARG;
-           cif->flags += calc_n32_struct_flags(soft_float,
-                                               (cif->arg_types)[index],
-                                               &loc, &arg_reg);
-           break;
-
-         default:
-           arg_reg++;
-            break;
-         }
-
-       index++;
-      }
-
-  /* Set the return type flag */
-    switch (cif->rtype->type)
-      {
-      case FFI_TYPE_STRUCT:
-       {
-         if (struct_flags == 0)
-           {
-             /* The structure is returned through a hidden
-                first argument. Do nothing, 'cause FFI_TYPE_VOID 
-                is 0 */
-           }
-         else
-           {
-             /* The structure is returned via some tricky
-                mechanism */
-             cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8);
-             cif->flags += struct_flags << (4 + (FFI_FLAG_BITS * 8));
-           }
-         break;
-       }
-      
-      case FFI_TYPE_VOID:
-       /* Do nothing, 'cause FFI_TYPE_VOID is 0 */
-       break;
-
-      case FFI_TYPE_POINTER:
-       if (cif->abi == FFI_N32_SOFT_FLOAT || cif->abi == FFI_N32)
-         cif->flags += FFI_TYPE_SINT32 << (FFI_FLAG_BITS * 8);
-       else
-         cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);
-       break;
-
-      case FFI_TYPE_FLOAT:
-       if (soft_float)
-         {
-           cif->flags += FFI_TYPE_SINT32 << (FFI_FLAG_BITS * 8);
-           break;
-         }
-       /* else fall through */
-      case FFI_TYPE_DOUBLE:
-       if (soft_float)
-         cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);
-       else
-         cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 8);
-       break;
-
-      case FFI_TYPE_LONGDOUBLE:
-       /* Long double is returned as if it were a struct containing
-          two doubles.  */
-       if (soft_float)
-         {
-           cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8);
-           cif->flags += FFI_TYPE_SMALLSTRUCT2 << (4 + (FFI_FLAG_BITS * 8));
-         }
-       else
-         {
-           cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8);
-           cif->flags += (FFI_TYPE_DOUBLE
-                          + (FFI_TYPE_DOUBLE << FFI_FLAG_BITS))
-                                             << (4 + (FFI_FLAG_BITS * 8));
-         }
-       break;
-      default:
-       cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);
-       break;
-      }
-  }
-#endif
-  
-  return FFI_OK;
-}
-
-/* Low level routine for calling O32 functions */
-extern int ffi_call_O32(void (*)(char *, extended_cif *, int, int), 
-                       extended_cif *, unsigned, 
-                       unsigned, unsigned *, void (*)(void));
-
-/* Low level routine for calling N32 functions */
-extern int ffi_call_N32(void (*)(char *, extended_cif *, int, int), 
-                       extended_cif *, unsigned, 
-                       unsigned, void *, void (*)(void));
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-  
-  /* If the return value is a struct and we don't have a return        */
-  /* value address then we need to make one                    */
-  
-  if ((rvalue == NULL) && 
-      (cif->rtype->type == FFI_TYPE_STRUCT))
-    ecif.rvalue = alloca(cif->rtype->size);
-  else
-    ecif.rvalue = rvalue;
-    
-  switch (cif->abi) 
-    {
-#ifdef FFI_MIPS_O32
-    case FFI_O32:
-    case FFI_O32_SOFT_FLOAT:
-      ffi_call_O32(ffi_prep_args, &ecif, cif->bytes, 
-                  cif->flags, ecif.rvalue, fn);
-      break;
-#endif
-
-#ifdef FFI_MIPS_N32
-    case FFI_N32:
-    case FFI_N32_SOFT_FLOAT:
-    case FFI_N64:
-    case FFI_N64_SOFT_FLOAT:
-      {
-        int copy_rvalue = 0;
-       int copy_offset = 0;
-        char *rvalue_copy = ecif.rvalue;
-        if (cif->rtype->type == FFI_TYPE_STRUCT && cif->rtype->size < 16)
-          {
-            /* For structures smaller than 16 bytes we clobber memory
-               in 8 byte increments.  Make a copy so we don't clobber
-               the callers memory outside of the struct bounds.  */
-            rvalue_copy = alloca(16);
-            copy_rvalue = 1;
-          }
-       else if (cif->rtype->type == FFI_TYPE_FLOAT
-                && (cif->abi == FFI_N64_SOFT_FLOAT
-                    || cif->abi == FFI_N32_SOFT_FLOAT))
-         {
-           rvalue_copy = alloca (8);
-           copy_rvalue = 1;
-#if defined(__MIPSEB__) || defined(_MIPSEB)
-           copy_offset = 4;
-#endif
-         }
-        ffi_call_N32(ffi_prep_args, &ecif, cif->bytes,
-                     cif->flags, rvalue_copy, fn);
-        if (copy_rvalue)
-          memcpy(ecif.rvalue, rvalue_copy + copy_offset, cif->rtype->size);
-      }
-      break;
-#endif
-
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-}
-
-#if FFI_CLOSURES
-#if defined(FFI_MIPS_O32)
-extern void ffi_closure_O32(void);
-#else
-extern void ffi_closure_N32(void);
-#endif /* FFI_MIPS_O32 */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure *closure,
-                     ffi_cif *cif,
-                     void (*fun)(ffi_cif*,void*,void**,void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  unsigned int *tramp = (unsigned int *) &closure->tramp[0];
-  void * fn;
-  char *clear_location = (char *) codeloc;
-
-#if defined(FFI_MIPS_O32)
-  FFI_ASSERT(cif->abi == FFI_O32 || cif->abi == FFI_O32_SOFT_FLOAT);
-  fn = ffi_closure_O32;
-#else /* FFI_MIPS_N32 */
-  FFI_ASSERT(cif->abi == FFI_N32 || cif->abi == FFI_N64);
-  fn = ffi_closure_N32;
-#endif /* FFI_MIPS_O32 */
-
-#if defined(FFI_MIPS_O32) || (_MIPS_SIM ==_ABIN32)
-  /* lui  $25,high(fn) */
-  tramp[0] = 0x3c190000 | ((unsigned)fn >> 16);
-  /* ori  $25,low(fn)  */
-  tramp[1] = 0x37390000 | ((unsigned)fn & 0xffff);
-  /* lui  $12,high(codeloc) */
-  tramp[2] = 0x3c0c0000 | ((unsigned)codeloc >> 16);
-  /* jr   $25          */
-  tramp[3] = 0x03200008;
-  /* ori  $12,low(codeloc)  */
-  tramp[4] = 0x358c0000 | ((unsigned)codeloc & 0xffff);
-#else
-  /* N64 has a somewhat larger trampoline.  */
-  /* lui  $25,high(fn) */
-  tramp[0] = 0x3c190000 | ((unsigned long)fn >> 48);
-  /* lui  $12,high(codeloc) */
-  tramp[1] = 0x3c0c0000 | ((unsigned long)codeloc >> 48);
-  /* ori  $25,mid-high(fn)  */
-  tramp[2] = 0x37390000 | (((unsigned long)fn >> 32 ) & 0xffff);
-  /* ori  $12,mid-high(codeloc)  */
-  tramp[3] = 0x358c0000 | (((unsigned long)codeloc >> 32) & 0xffff);
-  /* dsll $25,$25,16 */
-  tramp[4] = 0x0019cc38;
-  /* dsll $12,$12,16 */
-  tramp[5] = 0x000c6438;
-  /* ori  $25,mid-low(fn)  */
-  tramp[6] = 0x37390000 | (((unsigned long)fn >> 16 ) & 0xffff);
-  /* ori  $12,mid-low(codeloc)  */
-  tramp[7] = 0x358c0000 | (((unsigned long)codeloc >> 16) & 0xffff);
-  /* dsll $25,$25,16 */
-  tramp[8] = 0x0019cc38;
-  /* dsll $12,$12,16 */
-  tramp[9] = 0x000c6438;
-  /* ori  $25,low(fn)  */
-  tramp[10] = 0x37390000 | ((unsigned long)fn  & 0xffff);
-  /* jr   $25          */
-  tramp[11] = 0x03200008;
-  /* ori  $12,low(codeloc)  */
-  tramp[12] = 0x358c0000 | ((unsigned long)codeloc & 0xffff);
-
-#endif
-
-  closure->cif = cif;
-  closure->fun = fun;
-  closure->user_data = user_data;
-
-#ifdef USE__BUILTIN___CLEAR_CACHE
-  __builtin___clear_cache(clear_location, clear_location + FFI_TRAMPOLINE_SIZE);
-#else
-  cacheflush (clear_location, FFI_TRAMPOLINE_SIZE, ICACHE);
-#endif
-  return FFI_OK;
-}
-
-/*
- * Decodes the arguments to a function, which will be stored on the
- * stack. AR is the pointer to the beginning of the integer arguments
- * (and, depending upon the arguments, some floating-point arguments
- * as well). FPR is a pointer to the area where floating point
- * registers have been saved, if any.
- *
- * RVALUE is the location where the function return value will be
- * stored. CLOSURE is the prepared closure to invoke.
- *
- * This function should only be called from assembly, which is in
- * turn called from a trampoline.
- *
- * Returns the function return type.
- *
- * Based on the similar routine for sparc.
- */
-int
-ffi_closure_mips_inner_O32 (ffi_closure *closure,
-                           void *rvalue, ffi_arg *ar,
-                           double *fpr)
-{
-  ffi_cif *cif;
-  void **avaluep;
-  ffi_arg *avalue;
-  ffi_type **arg_types;
-  int i, avn, argn, seen_int;
-
-  cif = closure->cif;
-  avalue = alloca (cif->nargs * sizeof (ffi_arg));
-  avaluep = alloca (cif->nargs * sizeof (ffi_arg));
-
-  seen_int = (cif->abi == FFI_O32_SOFT_FLOAT);
-  argn = 0;
-
-  if ((cif->flags >> (FFI_FLAG_BITS * 2)) == FFI_TYPE_STRUCT)
-    {
-      rvalue = (void *)(UINT32)ar[0];
-      argn = 1;
-    }
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  while (i < avn)
-    {
-      if (i < 2 && !seen_int &&
-         (arg_types[i]->type == FFI_TYPE_FLOAT ||
-          arg_types[i]->type == FFI_TYPE_DOUBLE ||
-          arg_types[i]->type == FFI_TYPE_LONGDOUBLE))
-       {
-#if defined(__MIPSEB__) || defined(_MIPSEB)
-         if (arg_types[i]->type == FFI_TYPE_FLOAT)
-           avaluep[i] = ((char *) &fpr[i]) + sizeof (float);
-         else
-#endif
-           avaluep[i] = (char *) &fpr[i];
-       }
-      else
-       {
-         if (arg_types[i]->alignment == 8 && (argn & 0x1))
-           argn++;
-         switch (arg_types[i]->type)
-           {
-             case FFI_TYPE_SINT8:
-               avaluep[i] = &avalue[i];
-               *(SINT8 *) &avalue[i] = (SINT8) ar[argn];
-               break;
-
-             case FFI_TYPE_UINT8:
-               avaluep[i] = &avalue[i];
-               *(UINT8 *) &avalue[i] = (UINT8) ar[argn];
-               break;
-                 
-             case FFI_TYPE_SINT16:
-               avaluep[i] = &avalue[i];
-               *(SINT16 *) &avalue[i] = (SINT16) ar[argn];
-               break;
-                 
-             case FFI_TYPE_UINT16:
-               avaluep[i] = &avalue[i];
-               *(UINT16 *) &avalue[i] = (UINT16) ar[argn];
-               break;
-
-             default:
-               avaluep[i] = (char *) &ar[argn];
-               break;
-           }
-         seen_int = 1;
-       }
-      argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-      i++;
-    }
-
-  /* Invoke the closure. */
-  (closure->fun) (cif, rvalue, avaluep, closure->user_data);
-
-  if (cif->abi == FFI_O32_SOFT_FLOAT)
-    {
-      switch (cif->rtype->type)
-        {
-        case FFI_TYPE_FLOAT:
-          return FFI_TYPE_INT;
-        case FFI_TYPE_DOUBLE:
-          return FFI_TYPE_UINT64;
-        default:
-          return cif->rtype->type;
-        }
-    }
-  else
-    {
-      return cif->rtype->type;
-    }
-}
-
-#if defined(FFI_MIPS_N32)
-
-static void
-copy_struct_N32(char *target, unsigned offset, ffi_abi abi, ffi_type *type,
-                int argn, unsigned arg_offset, ffi_arg *ar,
-                ffi_arg *fpr, int soft_float)
-{
-  ffi_type **elt_typep = type->elements;
-  while(*elt_typep)
-    {
-      ffi_type *elt_type = *elt_typep;
-      unsigned o;
-      char *tp;
-      char *argp;
-      char *fpp;
-
-      o = ALIGN(offset, elt_type->alignment);
-      arg_offset += o - offset;
-      offset = o;
-      argn += arg_offset / sizeof(ffi_arg);
-      arg_offset = arg_offset % sizeof(ffi_arg);
-
-      argp = (char *)(ar + argn);
-      fpp = (char *)(argn >= 8 ? ar + argn : fpr + argn);
-
-      tp = target + offset;
-
-      if (elt_type->type == FFI_TYPE_DOUBLE && !soft_float)
-        *(double *)tp = *(double *)fpp;
-      else
-        memcpy(tp, argp + arg_offset, elt_type->size);
-
-      offset += elt_type->size;
-      arg_offset += elt_type->size;
-      elt_typep++;
-      argn += arg_offset / sizeof(ffi_arg);
-      arg_offset = arg_offset % sizeof(ffi_arg);
-    }
-}
-
-/*
- * Decodes the arguments to a function, which will be stored on the
- * stack. AR is the pointer to the beginning of the integer
- * arguments. FPR is a pointer to the area where floating point
- * registers have been saved.
- *
- * RVALUE is the location where the function return value will be
- * stored. CLOSURE is the prepared closure to invoke.
- *
- * This function should only be called from assembly, which is in
- * turn called from a trampoline.
- *
- * Returns the function return flags.
- *
- */
-int
-ffi_closure_mips_inner_N32 (ffi_closure *closure,
-                           void *rvalue, ffi_arg *ar,
-                           ffi_arg *fpr)
-{
-  ffi_cif *cif;
-  void **avaluep;
-  ffi_arg *avalue;
-  ffi_type **arg_types;
-  int i, avn, argn;
-  int soft_float;
-  ffi_arg *argp;
-
-  cif = closure->cif;
-  soft_float = cif->abi == FFI_N64_SOFT_FLOAT
-    || cif->abi == FFI_N32_SOFT_FLOAT;
-  avalue = alloca (cif->nargs * sizeof (ffi_arg));
-  avaluep = alloca (cif->nargs * sizeof (ffi_arg));
-
-  argn = 0;
-
-  if (cif->rstruct_flag)
-    {
-#if _MIPS_SIM==_ABIN32
-      rvalue = (void *)(UINT32)ar[0];
-#else /* N64 */
-      rvalue = (void *)ar[0];
-#endif
-      argn = 1;
-    }
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  while (i < avn)
-    {
-      if (arg_types[i]->type == FFI_TYPE_FLOAT
-         || arg_types[i]->type == FFI_TYPE_DOUBLE
-         || arg_types[i]->type == FFI_TYPE_LONGDOUBLE)
-        {
-          argp = (argn >= 8 || soft_float) ? ar + argn : fpr + argn;
-          if ((arg_types[i]->type == FFI_TYPE_LONGDOUBLE) && ((unsigned)argp & (arg_types[i]->alignment-1)))
-            {
-              argp=(ffi_arg*)ALIGN(argp,arg_types[i]->alignment);
-              argn++;
-            }
-#if defined(__MIPSEB__) || defined(_MIPSEB)
-          if (arg_types[i]->type == FFI_TYPE_FLOAT && argn < 8)
-            avaluep[i] = ((char *) argp) + sizeof (float);
-          else
-#endif
-            avaluep[i] = (char *) argp;
-        }
-      else
-        {
-          unsigned type = arg_types[i]->type;
-
-          if (arg_types[i]->alignment > sizeof(ffi_arg))
-            argn = ALIGN(argn, arg_types[i]->alignment / sizeof(ffi_arg));
-
-          argp = ar + argn;
-
-          /* The size of a pointer depends on the ABI */
-          if (type == FFI_TYPE_POINTER)
-            type = (cif->abi == FFI_N64 || cif->abi == FFI_N64_SOFT_FLOAT)
-             ? FFI_TYPE_SINT64 : FFI_TYPE_SINT32;
-
-         if (soft_float && type ==  FFI_TYPE_FLOAT)
-           type = FFI_TYPE_UINT32;
-
-          switch (type)
-            {
-            case FFI_TYPE_SINT8:
-              avaluep[i] = &avalue[i];
-              *(SINT8 *) &avalue[i] = (SINT8) *argp;
-              break;
-
-            case FFI_TYPE_UINT8:
-              avaluep[i] = &avalue[i];
-              *(UINT8 *) &avalue[i] = (UINT8) *argp;
-              break;
-
-            case FFI_TYPE_SINT16:
-              avaluep[i] = &avalue[i];
-              *(SINT16 *) &avalue[i] = (SINT16) *argp;
-              break;
-
-            case FFI_TYPE_UINT16:
-              avaluep[i] = &avalue[i];
-              *(UINT16 *) &avalue[i] = (UINT16) *argp;
-              break;
-
-            case FFI_TYPE_SINT32:
-              avaluep[i] = &avalue[i];
-              *(SINT32 *) &avalue[i] = (SINT32) *argp;
-              break;
-
-            case FFI_TYPE_UINT32:
-              avaluep[i] = &avalue[i];
-              *(UINT32 *) &avalue[i] = (UINT32) *argp;
-              break;
-
-            case FFI_TYPE_STRUCT:
-              if (argn < 8)
-                {
-                  /* Allocate space for the struct as at least part of
-                     it was passed in registers.  */
-                  avaluep[i] = alloca(arg_types[i]->size);
-                  copy_struct_N32(avaluep[i], 0, cif->abi, arg_types[i],
-                                  argn, 0, ar, fpr, soft_float);
-
-                  break;
-                }
-              /* Else fall through.  */
-            default:
-              avaluep[i] = (char *) argp;
-              break;
-            }
-        }
-      argn += ALIGN(arg_types[i]->size, sizeof(ffi_arg)) / sizeof(ffi_arg);
-      i++;
-    }
-
-  /* Invoke the closure. */
-  (closure->fun) (cif, rvalue, avaluep, closure->user_data);
-
-  return cif->flags >> (FFI_FLAG_BITS * 8);
-}
-
-#endif /* FFI_MIPS_N32 */
-
-#endif /* FFI_CLOSURES */
diff --git a/.pc/bad-abi-fix/src/pa/ffi.c b/.pc/bad-abi-fix/src/pa/ffi.c
deleted file mode 100644 (file)
index 6d7606f..0000000
+++ /dev/null
@@ -1,716 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - (c) 2003-2004 Randolph Chung <tausq@debian.org>
-           (c) 2008 Red Hat, Inc.
-
-   HPPA Foreign Function Interface
-   HP-UX PA ABI support (c) 2006 Free Software Foundation, Inc.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#define ROUND_UP(v, a)  (((size_t)(v) + (a) - 1) & ~((a) - 1))
-
-#define MIN_STACK_SIZE  64
-#define FIRST_ARG_SLOT  9
-#define DEBUG_LEVEL   0
-
-#define fldw(addr, fpreg) \
-  __asm__ volatile ("fldw 0(%0), %%" #fpreg "L" : : "r"(addr) : #fpreg)
-#define fstw(fpreg, addr) \
-  __asm__ volatile ("fstw %%" #fpreg "L, 0(%0)" : : "r"(addr))
-#define fldd(addr, fpreg) \
-  __asm__ volatile ("fldd 0(%0), %%" #fpreg : : "r"(addr) : #fpreg)
-#define fstd(fpreg, addr) \
-  __asm__ volatile ("fstd %%" #fpreg "L, 0(%0)" : : "r"(addr))
-
-#define debug(lvl, x...) do { if (lvl <= DEBUG_LEVEL) { printf(x); } } while (0)
-
-static inline int ffi_struct_type(ffi_type *t)
-{
-  size_t sz = t->size;
-
-  /* Small structure results are passed in registers,
-     larger ones are passed by pointer.  Note that
-     small structures of size 2, 4 and 8 differ from
-     the corresponding integer types in that they have
-     different alignment requirements.  */
-
-  if (sz <= 1)
-    return FFI_TYPE_UINT8;
-  else if (sz == 2)
-    return FFI_TYPE_SMALL_STRUCT2;
-  else if (sz == 3)
-    return FFI_TYPE_SMALL_STRUCT3;
-  else if (sz == 4)
-    return FFI_TYPE_SMALL_STRUCT4;
-  else if (sz == 5)
-    return FFI_TYPE_SMALL_STRUCT5;
-  else if (sz == 6)
-    return FFI_TYPE_SMALL_STRUCT6;
-  else if (sz == 7)
-    return FFI_TYPE_SMALL_STRUCT7;
-  else if (sz <= 8)
-    return FFI_TYPE_SMALL_STRUCT8;
-  else
-    return FFI_TYPE_STRUCT; /* else, we pass it by pointer.  */
-}
-
-/* PA has a downward growing stack, which looks like this:
-
-   Offset
-       [ Variable args ]
-   SP = (4*(n+9))       arg word N
-   ...
-   SP-52                arg word 4
-       [ Fixed args ]
-   SP-48                arg word 3
-   SP-44                arg word 2
-   SP-40                arg word 1
-   SP-36                arg word 0
-       [ Frame marker ]
-   ...
-   SP-20                RP
-   SP-4                 previous SP
-
-   The first four argument words on the stack are reserved for use by
-   the callee.  Instead, the general and floating registers replace
-   the first four argument slots.  Non FP arguments are passed solely
-   in the general registers.  FP arguments are passed in both general
-   and floating registers when using libffi.
-
-   Non-FP 32-bit args are passed in gr26, gr25, gr24 and gr23.
-   Non-FP 64-bit args are passed in register pairs, starting
-   on an odd numbered register (i.e. r25+r26 and r23+r24).
-   FP 32-bit arguments are passed in fr4L, fr5L, fr6L and fr7L.
-   FP 64-bit arguments are passed in fr5 and fr7.
-
-   The registers are allocated in the same manner as stack slots.
-   This allows the callee to save its arguments on the stack if
-   necessary:
-
-   arg word 3 -> gr23 or fr7L
-   arg word 2 -> gr24 or fr6L or fr7R
-   arg word 1 -> gr25 or fr5L
-   arg word 0 -> gr26 or fr4L or fr5R
-
-   Note that fr4R and fr6R are never used for arguments (i.e.,
-   doubles are not passed in fr4 or fr6).
-
-   The rest of the arguments are passed on the stack starting at SP-52,
-   but 64-bit arguments need to be aligned to an 8-byte boundary
-
-   This means we can have holes either in the register allocation,
-   or in the stack.  */
-
-/* ffi_prep_args is called by the assembly routine once stack space
-   has been allocated for the function's arguments
-
-   The following code will put everything into the stack frame
-   (which was allocated by the asm routine), and on return
-   the asm routine will load the arguments that should be
-   passed by register into the appropriate registers
-
-   NOTE: We load floating point args in this function... that means we
-   assume gcc will not mess with fp regs in here.  */
-
-void ffi_prep_args_pa32(UINT32 *stack, extended_cif *ecif, unsigned bytes)
-{
-  register unsigned int i;
-  register ffi_type **p_arg;
-  register void **p_argv;
-  unsigned int slot = FIRST_ARG_SLOT;
-  char *dest_cpy;
-  size_t len;
-
-  debug(1, "%s: stack = %p, ecif = %p, bytes = %u\n", __FUNCTION__, stack,
-       ecif, bytes);
-
-  p_arg = ecif->cif->arg_types;
-  p_argv = ecif->avalue;
-
-  for (i = 0; i < ecif->cif->nargs; i++)
-    {
-      int type = (*p_arg)->type;
-
-      switch (type)
-       {
-       case FFI_TYPE_SINT8:
-         *(SINT32 *)(stack - slot) = *(SINT8 *)(*p_argv);
-         break;
-
-       case FFI_TYPE_UINT8:
-         *(UINT32 *)(stack - slot) = *(UINT8 *)(*p_argv);
-         break;
-
-       case FFI_TYPE_SINT16:
-         *(SINT32 *)(stack - slot) = *(SINT16 *)(*p_argv);
-         break;
-
-       case FFI_TYPE_UINT16:
-         *(UINT32 *)(stack - slot) = *(UINT16 *)(*p_argv);
-         break;
-
-       case FFI_TYPE_UINT32:
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_POINTER:
-         debug(3, "Storing UINT32 %u in slot %u\n", *(UINT32 *)(*p_argv),
-               slot);
-         *(UINT32 *)(stack - slot) = *(UINT32 *)(*p_argv);
-         break;
-
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-         /* Align slot for 64-bit type.  */
-         slot += (slot & 1) ? 1 : 2;
-         *(UINT64 *)(stack - slot) = *(UINT64 *)(*p_argv);
-         break;
-
-       case FFI_TYPE_FLOAT:
-         /* First 4 args go in fr4L - fr7L.  */
-         debug(3, "Storing UINT32(float) in slot %u\n", slot);
-         *(UINT32 *)(stack - slot) = *(UINT32 *)(*p_argv);
-         switch (slot - FIRST_ARG_SLOT)
-           {
-           /* First 4 args go in fr4L - fr7L.  */
-           case 0: fldw(stack - slot, fr4); break;
-           case 1: fldw(stack - slot, fr5); break;
-           case 2: fldw(stack - slot, fr6); break;
-           case 3: fldw(stack - slot, fr7); break;
-           }
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         /* Align slot for 64-bit type.  */
-         slot += (slot & 1) ? 1 : 2;
-         debug(3, "Storing UINT64(double) at slot %u\n", slot);
-         *(UINT64 *)(stack - slot) = *(UINT64 *)(*p_argv);
-         switch (slot - FIRST_ARG_SLOT)
-           {
-             /* First 2 args go in fr5, fr7.  */
-             case 1: fldd(stack - slot, fr5); break;
-             case 3: fldd(stack - slot, fr7); break;
-           }
-         break;
-
-#ifdef PA_HPUX
-       case FFI_TYPE_LONGDOUBLE:
-         /* Long doubles are passed in the same manner as structures
-            larger than 8 bytes.  */
-         *(UINT32 *)(stack - slot) = (UINT32)(*p_argv);
-         break;
-#endif
-
-       case FFI_TYPE_STRUCT:
-
-         /* Structs smaller or equal than 4 bytes are passed in one
-            register. Structs smaller or equal 8 bytes are passed in two
-            registers. Larger structures are passed by pointer.  */
-
-         len = (*p_arg)->size;
-         if (len <= 4)
-           {
-             dest_cpy = (char *)(stack - slot) + 4 - len;
-             memcpy(dest_cpy, (char *)*p_argv, len);
-           }
-         else if (len <= 8)
-           {
-             slot += (slot & 1) ? 1 : 2;
-             dest_cpy = (char *)(stack - slot) + 8 - len;
-             memcpy(dest_cpy, (char *)*p_argv, len);
-           }
-         else
-           *(UINT32 *)(stack - slot) = (UINT32)(*p_argv);
-         break;
-
-       default:
-         FFI_ASSERT(0);
-       }
-
-      slot++;
-      p_arg++;
-      p_argv++;
-    }
-
-  /* Make sure we didn't mess up and scribble on the stack.  */
-  {
-    unsigned int n;
-
-    debug(5, "Stack setup:\n");
-    for (n = 0; n < (bytes + 3) / 4; n++)
-      {
-       if ((n%4) == 0) { debug(5, "\n%08x: ", (unsigned int)(stack - n)); }
-       debug(5, "%08x ", *(stack - n));
-      }
-    debug(5, "\n");
-  }
-
-  FFI_ASSERT(slot * 4 <= bytes);
-
-  return;
-}
-
-static void ffi_size_stack_pa32(ffi_cif *cif)
-{
-  ffi_type **ptr;
-  int i;
-  int z = 0; /* # stack slots */
-
-  for (ptr = cif->arg_types, i = 0; i < cif->nargs; ptr++, i++)
-    {
-      int type = (*ptr)->type;
-
-      switch (type)
-       {
-       case FFI_TYPE_DOUBLE:
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-         z += 2 + (z & 1); /* must start on even regs, so we may waste one */
-         break;
-
-#ifdef PA_HPUX
-       case FFI_TYPE_LONGDOUBLE:
-#endif
-       case FFI_TYPE_STRUCT:
-         z += 1; /* pass by ptr, callee will copy */
-         break;
-
-       default: /* <= 32-bit values */
-         z++;
-       }
-    }
-
-  /* We can fit up to 6 args in the default 64-byte stack frame,
-     if we need more, we need more stack.  */
-  if (z <= 6)
-    cif->bytes = MIN_STACK_SIZE; /* min stack size */
-  else
-    cif->bytes = 64 + ROUND_UP((z - 6) * sizeof(UINT32), MIN_STACK_SIZE);
-
-  debug(3, "Calculated stack size is %u bytes\n", cif->bytes);
-}
-
-/* Perform machine dependent cif processing.  */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
-  /* Set the return type flag */
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_VOID:
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-      cif->flags = (unsigned) cif->rtype->type;
-      break;
-
-#ifdef PA_HPUX
-    case FFI_TYPE_LONGDOUBLE:
-      /* Long doubles are treated like a structure.  */
-      cif->flags = FFI_TYPE_STRUCT;
-      break;
-#endif
-
-    case FFI_TYPE_STRUCT:
-      /* For the return type we have to check the size of the structures.
-        If the size is smaller or equal 4 bytes, the result is given back
-        in one register. If the size is smaller or equal 8 bytes than we
-        return the result in two registers. But if the size is bigger than
-        8 bytes, we work with pointers.  */
-      cif->flags = ffi_struct_type(cif->rtype);
-      break;
-
-    case FFI_TYPE_UINT64:
-    case FFI_TYPE_SINT64:
-      cif->flags = FFI_TYPE_UINT64;
-      break;
-
-    default:
-      cif->flags = FFI_TYPE_INT;
-      break;
-    }
-
-  /* Lucky us, because of the unique PA ABI we get to do our
-     own stack sizing.  */
-  switch (cif->abi)
-    {
-    case FFI_PA32:
-      ffi_size_stack_pa32(cif);
-      break;
-
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-
-  return FFI_OK;
-}
-
-extern void ffi_call_pa32(void (*)(UINT32 *, extended_cif *, unsigned),
-                         extended_cif *, unsigned, unsigned, unsigned *,
-                         void (*fn)(void));
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  /* If the return value is a struct and we don't have a return
-     value address then we need to make one.  */
-
-  if (rvalue == NULL
-#ifdef PA_HPUX
-      && (cif->rtype->type == FFI_TYPE_STRUCT
-         || cif->rtype->type == FFI_TYPE_LONGDOUBLE))
-#else
-      && cif->rtype->type == FFI_TYPE_STRUCT)
-#endif
-    {
-      ecif.rvalue = alloca(cif->rtype->size);
-    }
-  else
-    ecif.rvalue = rvalue;
-
-
-  switch (cif->abi)
-    {
-    case FFI_PA32:
-      debug(3, "Calling ffi_call_pa32: ecif=%p, bytes=%u, flags=%u, rvalue=%p, fn=%p\n", &ecif, cif->bytes, cif->flags, ecif.rvalue, (void *)fn);
-      ffi_call_pa32(ffi_prep_args_pa32, &ecif, cif->bytes,
-                    cif->flags, ecif.rvalue, fn);
-      break;
-
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-}
-
-#if FFI_CLOSURES
-/* This is more-or-less an inverse of ffi_call -- we have arguments on
-   the stack, and we need to fill them into a cif structure and invoke
-   the user function. This really ought to be in asm to make sure
-   the compiler doesn't do things we don't expect.  */
-ffi_status ffi_closure_inner_pa32(ffi_closure *closure, UINT32 *stack)
-{
-  ffi_cif *cif;
-  void **avalue;
-  void *rvalue;
-  UINT32 ret[2]; /* function can return up to 64-bits in registers */
-  ffi_type **p_arg;
-  char *tmp;
-  int i, avn;
-  unsigned int slot = FIRST_ARG_SLOT;
-  register UINT32 r28 asm("r28");
-
-  cif = closure->cif;
-
-  /* If returning via structure, callee will write to our pointer.  */
-  if (cif->flags == FFI_TYPE_STRUCT)
-    rvalue = (void *)r28;
-  else
-    rvalue = &ret[0];
-
-  avalue = (void **)alloca(cif->nargs * FFI_SIZEOF_ARG);
-  avn = cif->nargs;
-  p_arg = cif->arg_types;
-
-  for (i = 0; i < avn; i++)
-    {
-      int type = (*p_arg)->type;
-
-      switch (type)
-       {
-       case FFI_TYPE_SINT8:
-       case FFI_TYPE_UINT8:
-       case FFI_TYPE_SINT16:
-       case FFI_TYPE_UINT16:
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_UINT32:
-       case FFI_TYPE_POINTER:
-         avalue[i] = (char *)(stack - slot) + sizeof(UINT32) - (*p_arg)->size;
-         break;
-
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_UINT64:
-         slot += (slot & 1) ? 1 : 2;
-         avalue[i] = (void *)(stack - slot);
-         break;
-
-       case FFI_TYPE_FLOAT:
-#ifdef PA_LINUX
-         /* The closure call is indirect.  In Linux, floating point
-            arguments in indirect calls with a prototype are passed
-            in the floating point registers instead of the general
-            registers.  So, we need to replace what was previously
-            stored in the current slot with the value in the
-            corresponding floating point register.  */
-         switch (slot - FIRST_ARG_SLOT)
-           {
-           case 0: fstw(fr4, (void *)(stack - slot)); break;
-           case 1: fstw(fr5, (void *)(stack - slot)); break;
-           case 2: fstw(fr6, (void *)(stack - slot)); break;
-           case 3: fstw(fr7, (void *)(stack - slot)); break;
-           }
-#endif
-         avalue[i] = (void *)(stack - slot);
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         slot += (slot & 1) ? 1 : 2;
-#ifdef PA_LINUX
-         /* See previous comment for FFI_TYPE_FLOAT.  */
-         switch (slot - FIRST_ARG_SLOT)
-           {
-           case 1: fstd(fr5, (void *)(stack - slot)); break;
-           case 3: fstd(fr7, (void *)(stack - slot)); break;
-           }
-#endif
-         avalue[i] = (void *)(stack - slot);
-         break;
-
-#ifdef PA_HPUX
-       case FFI_TYPE_LONGDOUBLE:
-         /* Long doubles are treated like a big structure.  */
-         avalue[i] = (void *) *(stack - slot);
-         break;
-#endif
-
-       case FFI_TYPE_STRUCT:
-         /* Structs smaller or equal than 4 bytes are passed in one
-            register. Structs smaller or equal 8 bytes are passed in two
-            registers. Larger structures are passed by pointer.  */
-         if((*p_arg)->size <= 4)
-           {
-             avalue[i] = (void *)(stack - slot) + sizeof(UINT32) -
-               (*p_arg)->size;
-           }
-         else if ((*p_arg)->size <= 8)
-           {
-             slot += (slot & 1) ? 1 : 2;
-             avalue[i] = (void *)(stack - slot) + sizeof(UINT64) -
-               (*p_arg)->size;
-           }
-         else
-           avalue[i] = (void *) *(stack - slot);
-         break;
-
-       default:
-         FFI_ASSERT(0);
-       }
-
-      slot++;
-      p_arg++;
-    }
-
-  /* Invoke the closure.  */
-  (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
-  debug(3, "after calling function, ret[0] = %08x, ret[1] = %08x\n", ret[0],
-       ret[1]);
-
-  /* Store the result using the lower 2 bytes of the flags.  */
-  switch (cif->flags)
-    {
-    case FFI_TYPE_UINT8:
-      *(stack - FIRST_ARG_SLOT) = (UINT8)(ret[0] >> 24);
-      break;
-    case FFI_TYPE_SINT8:
-      *(stack - FIRST_ARG_SLOT) = (SINT8)(ret[0] >> 24);
-      break;
-    case FFI_TYPE_UINT16:
-      *(stack - FIRST_ARG_SLOT) = (UINT16)(ret[0] >> 16);
-      break;
-    case FFI_TYPE_SINT16:
-      *(stack - FIRST_ARG_SLOT) = (SINT16)(ret[0] >> 16);
-      break;
-    case FFI_TYPE_INT:
-    case FFI_TYPE_SINT32:
-    case FFI_TYPE_UINT32:
-      *(stack - FIRST_ARG_SLOT) = ret[0];
-      break;
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_UINT64:
-      *(stack - FIRST_ARG_SLOT) = ret[0];
-      *(stack - FIRST_ARG_SLOT - 1) = ret[1];
-      break;
-
-    case FFI_TYPE_DOUBLE:
-      fldd(rvalue, fr4);
-      break;
-
-    case FFI_TYPE_FLOAT:
-      fldw(rvalue, fr4);
-      break;
-
-    case FFI_TYPE_STRUCT:
-      /* Don't need a return value, done by caller.  */
-      break;
-
-    case FFI_TYPE_SMALL_STRUCT2:
-    case FFI_TYPE_SMALL_STRUCT3:
-    case FFI_TYPE_SMALL_STRUCT4:
-      tmp = (void*)(stack -  FIRST_ARG_SLOT);
-      tmp += 4 - cif->rtype->size;
-      memcpy((void*)tmp, &ret[0], cif->rtype->size);
-      break;
-
-    case FFI_TYPE_SMALL_STRUCT5:
-    case FFI_TYPE_SMALL_STRUCT6:
-    case FFI_TYPE_SMALL_STRUCT7:
-    case FFI_TYPE_SMALL_STRUCT8:
-      {
-       unsigned int ret2[2];
-       int off;
-
-       /* Right justify ret[0] and ret[1] */
-       switch (cif->flags)
-         {
-           case FFI_TYPE_SMALL_STRUCT5: off = 3; break;
-           case FFI_TYPE_SMALL_STRUCT6: off = 2; break;
-           case FFI_TYPE_SMALL_STRUCT7: off = 1; break;
-           default: off = 0; break;
-         }
-
-       memset (ret2, 0, sizeof (ret2));
-       memcpy ((char *)ret2 + off, ret, 8 - off);
-
-       *(stack - FIRST_ARG_SLOT) = ret2[0];
-       *(stack - FIRST_ARG_SLOT - 1) = ret2[1];
-      }
-      break;
-
-    case FFI_TYPE_POINTER:
-    case FFI_TYPE_VOID:
-      break;
-
-    default:
-      debug(0, "assert with cif->flags: %d\n",cif->flags);
-      FFI_ASSERT(0);
-      break;
-    }
-  return FFI_OK;
-}
-
-/* Fill in a closure to refer to the specified fun and user_data.
-   cif specifies the argument and result types for fun.
-   The cif must already be prep'ed.  */
-
-extern void ffi_closure_pa32(void);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif*,void*,void**,void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  UINT32 *tramp = (UINT32 *)(closure->tramp);
-#ifdef PA_HPUX
-  UINT32 *tmp;
-#endif
-
-  FFI_ASSERT (cif->abi == FFI_PA32);
-
-  /* Make a small trampoline that will branch to our
-     handler function. Use PC-relative addressing.  */
-
-#ifdef PA_LINUX
-  tramp[0] = 0xeaa00000; /* b,l .+8,%r21        ; %r21 <- pc+8 */
-  tramp[1] = 0xd6a01c1e; /* depi 0,31,2,%r21    ; mask priv bits */
-  tramp[2] = 0x4aa10028; /* ldw 20(%r21),%r1    ; load plabel */
-  tramp[3] = 0x36b53ff1; /* ldo -8(%r21),%r21   ; get closure addr */
-  tramp[4] = 0x0c201096; /* ldw 0(%r1),%r22     ; address of handler */
-  tramp[5] = 0xeac0c000; /* bv%r0(%r22)         ; branch to handler */
-  tramp[6] = 0x0c281093; /* ldw 4(%r1),%r19     ; GP of handler */
-  tramp[7] = ((UINT32)(ffi_closure_pa32) & ~2);
-
-  /* Flush d/icache -- have to flush up 2 two lines because of
-     alignment.  */
-  __asm__ volatile(
-                  "fdc 0(%0)\n\t"
-                  "fdc %1(%0)\n\t"
-                  "fic 0(%%sr4, %0)\n\t"
-                  "fic %1(%%sr4, %0)\n\t"
-                  "sync\n\t"
-                  "nop\n\t"
-                  "nop\n\t"
-                  "nop\n\t"
-                  "nop\n\t"
-                  "nop\n\t"
-                  "nop\n\t"
-                  "nop\n"
-                  :
-                  : "r"((unsigned long)tramp & ~31),
-                    "r"(32 /* stride */)
-                  : "memory");
-#endif
-
-#ifdef PA_HPUX
-  tramp[0] = 0xeaa00000; /* b,l .+8,%r21        ; %r21 <- pc+8  */
-  tramp[1] = 0xd6a01c1e; /* depi 0,31,2,%r21    ; mask priv bits  */
-  tramp[2] = 0x4aa10038; /* ldw 28(%r21),%r1    ; load plabel  */
-  tramp[3] = 0x36b53ff1; /* ldo -8(%r21),%r21   ; get closure addr  */
-  tramp[4] = 0x0c201096; /* ldw 0(%r1),%r22     ; address of handler  */
-  tramp[5] = 0x02c010b4; /* ldsid (%r22),%r20   ; load space id  */
-  tramp[6] = 0x00141820; /* mtsp %r20,%sr0      ; into %sr0  */
-  tramp[7] = 0xe2c00000; /* be 0(%sr0,%r22)     ; branch to handler  */
-  tramp[8] = 0x0c281093; /* ldw 4(%r1),%r19     ; GP of handler  */
-  tramp[9] = ((UINT32)(ffi_closure_pa32) & ~2);
-
-  /* Flush d/icache -- have to flush three lines because of alignment.  */
-  __asm__ volatile(
-                  "copy %1,%0\n\t"
-                  "fdc,m %2(%0)\n\t"
-                  "fdc,m %2(%0)\n\t"
-                  "fdc,m %2(%0)\n\t"
-                  "ldsid (%1),%0\n\t"
-                  "mtsp %0,%%sr0\n\t"
-                  "copy %1,%0\n\t"
-                  "fic,m %2(%%sr0,%0)\n\t"
-                  "fic,m %2(%%sr0,%0)\n\t"
-                  "fic,m %2(%%sr0,%0)\n\t"
-                  "sync\n\t"
-                  "nop\n\t"
-                  "nop\n\t"
-                  "nop\n\t"
-                  "nop\n\t"
-                  "nop\n\t"
-                  "nop\n\t"
-                  "nop\n"
-                  : "=&r" ((unsigned long)tmp)
-                  : "r" ((unsigned long)tramp & ~31),
-                    "r" (32/* stride */)
-                  : "memory");
-#endif
-
-  closure->cif  = cif;
-  closure->user_data = user_data;
-  closure->fun  = fun;
-
-  return FFI_OK;
-}
-#endif
diff --git a/.pc/bad-abi-fix/src/powerpc/ffi.c b/.pc/bad-abi-fix/src/powerpc/ffi.c
deleted file mode 100644 (file)
index 75784a9..0000000
+++ /dev/null
@@ -1,1442 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 1998 Geoffrey Keating
-   Copyright (C) 2007, 2008 Free Software Foundation, Inc
-   Copyright (C) 2008 Red Hat, Inc
-
-   PowerPC Foreign Function Interface
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
-   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-   OTHER DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-
-
-extern void ffi_closure_SYSV (void);
-extern void FFI_HIDDEN ffi_closure_LINUX64 (void);
-
-enum {
-  /* The assembly depends on these exact flags.  */
-  FLAG_RETURNS_SMST    = 1 << (31-31), /* Used for FFI_SYSV small structs.  */
-  FLAG_RETURNS_NOTHING  = 1 << (31-30), /* These go in cr7 */
-  FLAG_RETURNS_FP       = 1 << (31-29),
-  FLAG_RETURNS_64BITS   = 1 << (31-28),
-
-  FLAG_RETURNS_128BITS  = 1 << (31-27), /* cr6  */
-  FLAG_SYSV_SMST_R4     = 1 << (31-26), /* use r4 for FFI_SYSV 8 byte
-                                          structs.  */
-  FLAG_SYSV_SMST_R3     = 1 << (31-25), /* use r3 for FFI_SYSV 4 byte
-                                          structs.  */
-  /* Bits (31-24) through (31-19) store shift value for SMST */
-
-  FLAG_ARG_NEEDS_COPY   = 1 << (31- 7),
-  FLAG_FP_ARGUMENTS     = 1 << (31- 6), /* cr1.eq; specified by ABI */
-  FLAG_4_GPR_ARGUMENTS  = 1 << (31- 5),
-  FLAG_RETVAL_REFERENCE = 1 << (31- 4)
-};
-
-/* About the SYSV ABI.  */
-unsigned int NUM_GPR_ARG_REGISTERS = 8;
-#ifndef __NO_FPRS__
-unsigned int NUM_FPR_ARG_REGISTERS = 8;
-#else
-unsigned int NUM_FPR_ARG_REGISTERS = 0;
-#endif
-
-enum { ASM_NEEDS_REGISTERS = 4 };
-
-/* ffi_prep_args_SYSV is called by the assembly routine once stack space
-   has been allocated for the function's arguments.
-
-   The stack layout we want looks like this:
-
-   |   Return address from ffi_call_SYSV 4bytes        |       higher addresses
-   |--------------------------------------------|
-   |   Previous backchain pointer      4       |       stack pointer here
-   |--------------------------------------------|<+ <<<        on entry to
-   |   Saved r28-r31                   4*4     | |     ffi_call_SYSV
-   |--------------------------------------------| |
-   |   GPR registers r3-r10            8*4     | |     ffi_call_SYSV
-   |--------------------------------------------| |
-   |   FPR registers f1-f8 (optional)  8*8     | |
-   |--------------------------------------------| |    stack   |
-   |   Space for copied structures             | |     grows   |
-   |--------------------------------------------| |    down    V
-   |   Parameters that didn't fit in registers  | |
-   |--------------------------------------------| |    lower addresses
-   |   Space for callee's LR           4       | |
-   |--------------------------------------------| |    stack pointer here
-   |   Current backchain pointer       4       |-/     during
-   |--------------------------------------------|   <<<        ffi_call_SYSV
-
-*/
-
-void
-ffi_prep_args_SYSV (extended_cif *ecif, unsigned *const stack)
-{
-  const unsigned bytes = ecif->cif->bytes;
-  const unsigned flags = ecif->cif->flags;
-
-  typedef union {
-    char *c;
-    unsigned *u;
-    long long *ll;
-    float *f;
-    double *d;
-  } valp;
-
-  /* 'stacktop' points at the previous backchain pointer.  */
-  valp stacktop;
-
-  /* 'gpr_base' points at the space for gpr3, and grows upwards as
-     we use GPR registers.  */
-  valp gpr_base;
-  int intarg_count;
-
-  /* 'fpr_base' points at the space for fpr1, and grows upwards as
-     we use FPR registers.  */
-  valp fpr_base;
-  int fparg_count;
-
-  /* 'copy_space' grows down as we put structures in it.  It should
-     stay 16-byte aligned.  */
-  valp copy_space;
-
-  /* 'next_arg' grows up as we put parameters in it.  */
-  valp next_arg;
-
-  int i, ii MAYBE_UNUSED;
-  ffi_type **ptr;
-  double double_tmp;
-  union {
-    void **v;
-    char **c;
-    signed char **sc;
-    unsigned char **uc;
-    signed short **ss;
-    unsigned short **us;
-    unsigned int **ui;
-    long long **ll;
-    float **f;
-    double **d;
-  } p_argv;
-  size_t struct_copy_size;
-  unsigned gprvalue;
-
-  if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-    NUM_FPR_ARG_REGISTERS = 0;
-
-  stacktop.c = (char *) stack + bytes;
-  gpr_base.u = stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS;
-  intarg_count = 0;
-  fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS;
-  fparg_count = 0;
-  copy_space.c = ((flags & FLAG_FP_ARGUMENTS) ? fpr_base.c : gpr_base.c);
-  next_arg.u = stack + 2;
-
-  /* Check that everything starts aligned properly.  */
-  FFI_ASSERT (((unsigned) (char *) stack & 0xF) == 0);
-  FFI_ASSERT (((unsigned) copy_space.c & 0xF) == 0);
-  FFI_ASSERT (((unsigned) stacktop.c & 0xF) == 0);
-  FFI_ASSERT ((bytes & 0xF) == 0);
-  FFI_ASSERT (copy_space.c >= next_arg.c);
-
-  /* Deal with return values that are actually pass-by-reference.  */
-  if (flags & FLAG_RETVAL_REFERENCE)
-    {
-      *gpr_base.u++ = (unsigned long) (char *) ecif->rvalue;
-      intarg_count++;
-    }
-
-  /* Now for the arguments.  */
-  p_argv.v = ecif->avalue;
-  for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
-       i > 0;
-       i--, ptr++, p_argv.v++)
-    {
-      switch ((*ptr)->type)
-       {
-       case FFI_TYPE_FLOAT:
-         /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32.  */
-         if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_float_prep;
-         double_tmp = **p_argv.f;
-         if (fparg_count >= NUM_FPR_ARG_REGISTERS)
-           {
-             *next_arg.f = (float) double_tmp;
-             next_arg.u += 1;
-             intarg_count++;
-           }
-         else
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64.  */
-         if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_double_prep;
-         double_tmp = **p_argv.d;
-
-         if (fparg_count >= NUM_FPR_ARG_REGISTERS)
-           {
-             if (intarg_count >= NUM_GPR_ARG_REGISTERS
-                 && intarg_count % 2 != 0)
-               {
-                 intarg_count++;
-                 next_arg.u++;
-               }
-             *next_arg.d = double_tmp;
-             next_arg.u += 2;
-           }
-         else
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         if ((ecif->cif->abi != FFI_LINUX)
-               && (ecif->cif->abi != FFI_LINUX_SOFT_FLOAT))
-           goto do_struct;
-         /* The soft float ABI for long doubles works like this,
-            a long double is passed in four consecutive gprs if available.
-            A maximum of 2 long doubles can be passed in gprs.
-            If we do not have 4 gprs left, the long double is passed on the
-            stack, 4-byte aligned.  */
-         if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-           {
-             unsigned int int_tmp = (*p_argv.ui)[0];
-             if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3)
-               {
-                 if (intarg_count < NUM_GPR_ARG_REGISTERS)
-                   intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
-                 *next_arg.u = int_tmp;
-                 next_arg.u++;
-                 for (ii = 1; ii < 4; ii++)
-                   {
-                     int_tmp = (*p_argv.ui)[ii];
-                     *next_arg.u = int_tmp;
-                     next_arg.u++;
-                   }
-               }
-             else
-               {
-                 *gpr_base.u++ = int_tmp;
-                 for (ii = 1; ii < 4; ii++)
-                   {
-                     int_tmp = (*p_argv.ui)[ii];
-                     *gpr_base.u++ = int_tmp;
-                   }
-               }
-             intarg_count +=4;
-           }
-         else
-           {
-             double_tmp = (*p_argv.d)[0];
-
-             if (fparg_count >= NUM_FPR_ARG_REGISTERS - 1)
-               {
-                 if (intarg_count >= NUM_GPR_ARG_REGISTERS
-                     && intarg_count % 2 != 0)
-                   {
-                     intarg_count++;
-                     next_arg.u++;
-                   }
-                 *next_arg.d = double_tmp;
-                 next_arg.u += 2;
-                 double_tmp = (*p_argv.d)[1];
-                 *next_arg.d = double_tmp;
-                 next_arg.u += 2;
-               }
-             else
-               {
-                 *fpr_base.d++ = double_tmp;
-                 double_tmp = (*p_argv.d)[1];
-                 *fpr_base.d++ = double_tmp;
-               }
-
-             fparg_count += 2;
-             FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-           }
-         break;
-#endif
-
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-       soft_double_prep:
-         if (intarg_count == NUM_GPR_ARG_REGISTERS-1)
-           intarg_count++;
-         if (intarg_count >= NUM_GPR_ARG_REGISTERS)
-           {
-             if (intarg_count % 2 != 0)
-               {
-                 intarg_count++;
-                 next_arg.u++;
-               }
-             *next_arg.ll = **p_argv.ll;
-             next_arg.u += 2;
-           }
-         else
-           {
-             /* whoops: abi states only certain register pairs
-              * can be used for passing long long int
-              * specifically (r3,r4), (r5,r6), (r7,r8),
-              * (r9,r10) and if next arg is long long but
-              * not correct starting register of pair then skip
-              * until the proper starting register
-              */
-             if (intarg_count % 2 != 0)
-               {
-                 intarg_count ++;
-                 gpr_base.u++;
-               }
-             *gpr_base.ll++ = **p_argv.ll;
-           }
-         intarg_count += 2;
-         break;
-
-       case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       do_struct:
-#endif
-         struct_copy_size = ((*ptr)->size + 15) & ~0xF;
-         copy_space.c -= struct_copy_size;
-         memcpy (copy_space.c, *p_argv.c, (*ptr)->size);
-
-         gprvalue = (unsigned long) copy_space.c;
-
-         FFI_ASSERT (copy_space.c > next_arg.c);
-         FFI_ASSERT (flags & FLAG_ARG_NEEDS_COPY);
-         goto putgpr;
-
-       case FFI_TYPE_UINT8:
-         gprvalue = **p_argv.uc;
-         goto putgpr;
-       case FFI_TYPE_SINT8:
-         gprvalue = **p_argv.sc;
-         goto putgpr;
-       case FFI_TYPE_UINT16:
-         gprvalue = **p_argv.us;
-         goto putgpr;
-       case FFI_TYPE_SINT16:
-         gprvalue = **p_argv.ss;
-         goto putgpr;
-
-       case FFI_TYPE_INT:
-       case FFI_TYPE_UINT32:
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_POINTER:
-       soft_float_prep:
-
-         gprvalue = **p_argv.ui;
-
-       putgpr:
-         if (intarg_count >= NUM_GPR_ARG_REGISTERS)
-           *next_arg.u++ = gprvalue;
-         else
-           *gpr_base.u++ = gprvalue;
-         intarg_count++;
-         break;
-       }
-    }
-
-  /* Check that we didn't overrun the stack...  */
-  FFI_ASSERT (copy_space.c >= next_arg.c);
-  FFI_ASSERT (gpr_base.u <= stacktop.u - ASM_NEEDS_REGISTERS);
-  FFI_ASSERT (fpr_base.u
-             <= stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS);
-  FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4);
-}
-
-/* About the LINUX64 ABI.  */
-enum {
-  NUM_GPR_ARG_REGISTERS64 = 8,
-  NUM_FPR_ARG_REGISTERS64 = 13
-};
-enum { ASM_NEEDS_REGISTERS64 = 4 };
-
-/* ffi_prep_args64 is called by the assembly routine once stack space
-   has been allocated for the function's arguments.
-
-   The stack layout we want looks like this:
-
-   |   Ret addr from ffi_call_LINUX64  8bytes  |       higher addresses
-   |--------------------------------------------|
-   |   CR save area                    8bytes  |
-   |--------------------------------------------|
-   |   Previous backchain pointer      8       |       stack pointer here
-   |--------------------------------------------|<+ <<<        on entry to
-   |   Saved r28-r31                   4*8     | |     ffi_call_LINUX64
-   |--------------------------------------------| |
-   |   GPR registers r3-r10            8*8     | |
-   |--------------------------------------------| |
-   |   FPR registers f1-f13 (optional) 13*8    | |
-   |--------------------------------------------| |
-   |   Parameter save area                     | |
-   |--------------------------------------------| |
-   |   TOC save area                   8       | |
-   |--------------------------------------------| |    stack   |
-   |   Linker doubleword               8       | |     grows   |
-   |--------------------------------------------| |    down    V
-   |   Compiler doubleword             8       | |
-   |--------------------------------------------| |    lower addresses
-   |   Space for callee's LR           8       | |
-   |--------------------------------------------| |
-   |   CR save area                    8       | |
-   |--------------------------------------------| |    stack pointer here
-   |   Current backchain pointer       8       |-/     during
-   |--------------------------------------------|   <<<        ffi_call_LINUX64
-
-*/
-
-void FFI_HIDDEN
-ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
-{
-  const unsigned long bytes = ecif->cif->bytes;
-  const unsigned long flags = ecif->cif->flags;
-
-  typedef union {
-    char *c;
-    unsigned long *ul;
-    float *f;
-    double *d;
-  } valp;
-
-  /* 'stacktop' points at the previous backchain pointer.  */
-  valp stacktop;
-
-  /* 'next_arg' points at the space for gpr3, and grows upwards as
-     we use GPR registers, then continues at rest.  */
-  valp gpr_base;
-  valp gpr_end;
-  valp rest;
-  valp next_arg;
-
-  /* 'fpr_base' points at the space for fpr3, and grows upwards as
-     we use FPR registers.  */
-  valp fpr_base;
-  int fparg_count;
-
-  int i, words;
-  ffi_type **ptr;
-  double double_tmp;
-  union {
-    void **v;
-    char **c;
-    signed char **sc;
-    unsigned char **uc;
-    signed short **ss;
-    unsigned short **us;
-    signed int **si;
-    unsigned int **ui;
-    unsigned long **ul;
-    float **f;
-    double **d;
-  } p_argv;
-  unsigned long gprvalue;
-
-  stacktop.c = (char *) stack + bytes;
-  gpr_base.ul = stacktop.ul - ASM_NEEDS_REGISTERS64 - NUM_GPR_ARG_REGISTERS64;
-  gpr_end.ul = gpr_base.ul + NUM_GPR_ARG_REGISTERS64;
-  rest.ul = stack + 6 + NUM_GPR_ARG_REGISTERS64;
-  fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS64;
-  fparg_count = 0;
-  next_arg.ul = gpr_base.ul;
-
-  /* Check that everything starts aligned properly.  */
-  FFI_ASSERT (((unsigned long) (char *) stack & 0xF) == 0);
-  FFI_ASSERT (((unsigned long) stacktop.c & 0xF) == 0);
-  FFI_ASSERT ((bytes & 0xF) == 0);
-
-  /* Deal with return values that are actually pass-by-reference.  */
-  if (flags & FLAG_RETVAL_REFERENCE)
-    *next_arg.ul++ = (unsigned long) (char *) ecif->rvalue;
-
-  /* Now for the arguments.  */
-  p_argv.v = ecif->avalue;
-  for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
-       i > 0;
-       i--, ptr++, p_argv.v++)
-    {
-      switch ((*ptr)->type)
-       {
-       case FFI_TYPE_FLOAT:
-         double_tmp = **p_argv.f;
-         *next_arg.f = (float) double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         double_tmp = **p_argv.d;
-         *next_arg.d = double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         double_tmp = (*p_argv.d)[0];
-         *next_arg.d = double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         double_tmp = (*p_argv.d)[1];
-         *next_arg.d = double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (__LDBL_MANT_DIG__ == 106);
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-#endif
-
-       case FFI_TYPE_STRUCT:
-         words = ((*ptr)->size + 7) / 8;
-         if (next_arg.ul >= gpr_base.ul && next_arg.ul + words > gpr_end.ul)
-           {
-             size_t first = gpr_end.c - next_arg.c;
-             memcpy (next_arg.c, *p_argv.c, first);
-             memcpy (rest.c, *p_argv.c + first, (*ptr)->size - first);
-             next_arg.c = rest.c + words * 8 - first;
-           }
-         else
-           {
-             char *where = next_arg.c;
-
-             /* Structures with size less than eight bytes are passed
-                left-padded.  */
-             if ((*ptr)->size < 8)
-               where += 8 - (*ptr)->size;
-
-             memcpy (where, *p_argv.c, (*ptr)->size);
-             next_arg.ul += words;
-             if (next_arg.ul == gpr_end.ul)
-               next_arg.ul = rest.ul;
-           }
-         break;
-
-       case FFI_TYPE_UINT8:
-         gprvalue = **p_argv.uc;
-         goto putgpr;
-       case FFI_TYPE_SINT8:
-         gprvalue = **p_argv.sc;
-         goto putgpr;
-       case FFI_TYPE_UINT16:
-         gprvalue = **p_argv.us;
-         goto putgpr;
-       case FFI_TYPE_SINT16:
-         gprvalue = **p_argv.ss;
-         goto putgpr;
-       case FFI_TYPE_UINT32:
-         gprvalue = **p_argv.ui;
-         goto putgpr;
-       case FFI_TYPE_INT:
-       case FFI_TYPE_SINT32:
-         gprvalue = **p_argv.si;
-         goto putgpr;
-
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_POINTER:
-         gprvalue = **p_argv.ul;
-       putgpr:
-         *next_arg.ul++ = gprvalue;
-         if (next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         break;
-       }
-    }
-
-  FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS
-             || (next_arg.ul >= gpr_base.ul
-                 && next_arg.ul <= gpr_base.ul + 4));
-}
-
-
-
-/* Perform machine dependent cif processing */
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
-  /* All this is for the SYSV and LINUX64 ABI.  */
-  int i;
-  ffi_type **ptr;
-  unsigned bytes;
-  int fparg_count = 0, intarg_count = 0;
-  unsigned flags = 0;
-  unsigned struct_copy_size = 0;
-  unsigned type = cif->rtype->type;
-  unsigned size = cif->rtype->size;
-
-  if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-    NUM_FPR_ARG_REGISTERS = 0;
-
-  if (cif->abi != FFI_LINUX64)
-    {
-      /* All the machine-independent calculation of cif->bytes will be wrong.
-        Redo the calculation for SYSV.  */
-
-      /* Space for the frame pointer, callee's LR, and the asm's temp regs.  */
-      bytes = (2 + ASM_NEEDS_REGISTERS) * sizeof (int);
-
-      /* Space for the GPR registers.  */
-      bytes += NUM_GPR_ARG_REGISTERS * sizeof (int);
-    }
-  else
-    {
-      /* 64-bit ABI.  */
-
-      /* Space for backchain, CR, LR, cc/ld doubleword, TOC and the asm's temp
-        regs.  */
-      bytes = (6 + ASM_NEEDS_REGISTERS64) * sizeof (long);
-
-      /* Space for the mandatory parm save area and general registers.  */
-      bytes += 2 * NUM_GPR_ARG_REGISTERS64 * sizeof (long);
-    }
-
-  /* Return value handling.  The rules for SYSV are as follows:
-     - 32-bit (or less) integer values are returned in gpr3;
-     - Structures of size <= 4 bytes also returned in gpr3;
-     - 64-bit integer values and structures between 5 and 8 bytes are returned
-     in gpr3 and gpr4;
-     - Single/double FP values are returned in fpr1;
-     - Larger structures are allocated space and a pointer is passed as
-     the first argument.
-     - long doubles (if not equivalent to double) are returned in
-     fpr1,fpr2 for Linux and as for large structs for SysV.
-     For LINUX64:
-     - integer values in gpr3;
-     - Structures/Unions by reference;
-     - Single/double FP values in fpr1, long double in fpr1,fpr2.
-     - soft-float float/doubles are treated as UINT32/UINT64 respectivley.
-     - soft-float long doubles are returned in gpr3-gpr6.  */
-  switch (type)
-    {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-    case FFI_TYPE_LONGDOUBLE:
-      if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX64
-       && cif->abi != FFI_LINUX_SOFT_FLOAT)
-       goto byref;
-      flags |= FLAG_RETURNS_128BITS;
-      /* Fall through.  */
-#endif
-    case FFI_TYPE_DOUBLE:
-      flags |= FLAG_RETURNS_64BITS;
-      /* Fall through.  */
-    case FFI_TYPE_FLOAT:
-      /* With FFI_LINUX_SOFT_FLOAT no fp registers are used.  */
-      if (cif->abi != FFI_LINUX_SOFT_FLOAT)
-       flags |= FLAG_RETURNS_FP;
-      break;
-
-    case FFI_TYPE_UINT64:
-    case FFI_TYPE_SINT64:
-      flags |= FLAG_RETURNS_64BITS;
-      break;
-
-    case FFI_TYPE_STRUCT:
-      if (cif->abi == FFI_SYSV)
-       {
-         /* The final SYSV ABI says that structures smaller or equal 8 bytes
-            are returned in r3/r4. The FFI_GCC_SYSV ABI instead returns them
-            in memory.  */
-
-         /* Treat structs with size <= 8 bytes.  */
-         if (size <= 8)
-           {
-             flags |= FLAG_RETURNS_SMST;
-             /* These structs are returned in r3. We pack the type and the
-                precalculated shift value (needed in the sysv.S) into flags.
-                The same applies for the structs returned in r3/r4.  */
-             if (size <= 4)
-               {
-                 flags |= FLAG_SYSV_SMST_R3;
-                 flags |= 8 * (4 - size) << 8;
-                 break;
-               }
-             /* These structs are returned in r3 and r4. See above.   */
-             if  (size <= 8)
-               {
-                 flags |= FLAG_SYSV_SMST_R3 | FLAG_SYSV_SMST_R4;
-                 flags |= 8 * (8 - size) << 8;
-                 break;
-               }
-           }
-       }
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-    byref:
-#endif
-      intarg_count++;
-      flags |= FLAG_RETVAL_REFERENCE;
-      /* Fall through.  */
-    case FFI_TYPE_VOID:
-      flags |= FLAG_RETURNS_NOTHING;
-      break;
-
-    default:
-      /* Returns 32-bit integer, or similar.  Nothing to do here.  */
-      break;
-    }
-
-  if (cif->abi != FFI_LINUX64)
-    /* The first NUM_GPR_ARG_REGISTERS words of integer arguments, and the
-       first NUM_FPR_ARG_REGISTERS fp arguments, go in registers; the rest
-       goes on the stack.  Structures and long doubles (if not equivalent
-       to double) are passed as a pointer to a copy of the structure.
-       Stuff on the stack needs to keep proper alignment.  */
-    for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-      {
-       switch ((*ptr)->type)
-         {
-         case FFI_TYPE_FLOAT:
-           /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32.  */
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             goto soft_float_cif;
-           fparg_count++;
-           /* floating singles are not 8-aligned on stack */
-           break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         case FFI_TYPE_LONGDOUBLE:
-           if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-             goto do_struct;
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             {
-               if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3
-                 || intarg_count < NUM_GPR_ARG_REGISTERS)
-                 /* A long double in FFI_LINUX_SOFT_FLOAT can use only
-                    a set of four consecutive gprs. If we have not enough,
-                    we have to adjust the intarg_count value.  */
-                 intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
-               intarg_count += 4;
-               break;
-             }
-           else
-             fparg_count++;
-           /* Fall thru */
-#endif
-         case FFI_TYPE_DOUBLE:
-           /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64.  */
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             goto soft_double_cif;
-           fparg_count++;
-           /* If this FP arg is going on the stack, it must be
-              8-byte-aligned.  */
-           if (fparg_count > NUM_FPR_ARG_REGISTERS
-               && intarg_count >= NUM_GPR_ARG_REGISTERS
-               && intarg_count % 2 != 0)
-             intarg_count++;
-           break;
-
-         case FFI_TYPE_UINT64:
-         case FFI_TYPE_SINT64:
-         soft_double_cif:
-           /* 'long long' arguments are passed as two words, but
-              either both words must fit in registers or both go
-              on the stack.  If they go on the stack, they must
-              be 8-byte-aligned.
-
-              Also, only certain register pairs can be used for
-              passing long long int -- specifically (r3,r4), (r5,r6),
-              (r7,r8), (r9,r10).
-           */
-           if (intarg_count == NUM_GPR_ARG_REGISTERS-1
-               || intarg_count % 2 != 0)
-             intarg_count++;
-           intarg_count += 2;
-           break;
-
-         case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         do_struct:
-#endif
-           /* We must allocate space for a copy of these to enforce
-              pass-by-value.  Pad the space up to a multiple of 16
-              bytes (the maximum alignment required for anything under
-              the SYSV ABI).  */
-           struct_copy_size += ((*ptr)->size + 15) & ~0xF;
-           /* Fall through (allocate space for the pointer).  */
-
-         default:
-         soft_float_cif:
-           /* Everything else is passed as a 4-byte word in a GPR, either
-              the object itself or a pointer to it.  */
-           intarg_count++;
-           break;
-         }
-      }
-  else
-    for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-      {
-       switch ((*ptr)->type)
-         {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         case FFI_TYPE_LONGDOUBLE:
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             intarg_count += 4;
-           else
-             {
-               fparg_count += 2;
-               intarg_count += 2;
-             }
-           break;
-#endif
-         case FFI_TYPE_FLOAT:
-         case FFI_TYPE_DOUBLE:
-           fparg_count++;
-           intarg_count++;
-           break;
-
-         case FFI_TYPE_STRUCT:
-           intarg_count += ((*ptr)->size + 7) / 8;
-           break;
-
-         default:
-           /* Everything else is passed as a 8-byte word in a GPR, either
-              the object itself or a pointer to it.  */
-           intarg_count++;
-           break;
-         }
-      }
-
-  if (fparg_count != 0)
-    flags |= FLAG_FP_ARGUMENTS;
-  if (intarg_count > 4)
-    flags |= FLAG_4_GPR_ARGUMENTS;
-  if (struct_copy_size != 0)
-    flags |= FLAG_ARG_NEEDS_COPY;
-
-  if (cif->abi != FFI_LINUX64)
-    {
-      /* Space for the FPR registers, if needed.  */
-      if (fparg_count != 0)
-       bytes += NUM_FPR_ARG_REGISTERS * sizeof (double);
-
-      /* Stack space.  */
-      if (intarg_count > NUM_GPR_ARG_REGISTERS)
-       bytes += (intarg_count - NUM_GPR_ARG_REGISTERS) * sizeof (int);
-      if (fparg_count > NUM_FPR_ARG_REGISTERS)
-       bytes += (fparg_count - NUM_FPR_ARG_REGISTERS) * sizeof (double);
-    }
-  else
-    {
-      /* Space for the FPR registers, if needed.  */
-      if (fparg_count != 0)
-       bytes += NUM_FPR_ARG_REGISTERS64 * sizeof (double);
-
-      /* Stack space.  */
-      if (intarg_count > NUM_GPR_ARG_REGISTERS64)
-       bytes += (intarg_count - NUM_GPR_ARG_REGISTERS64) * sizeof (long);
-    }
-
-  /* The stack space allocated needs to be a multiple of 16 bytes.  */
-  bytes = (bytes + 15) & ~0xF;
-
-  /* Add in the space for the copied structures.  */
-  bytes += struct_copy_size;
-
-  cif->flags = flags;
-  cif->bytes = bytes;
-
-  return FFI_OK;
-}
-
-extern void ffi_call_SYSV(extended_cif *, unsigned, unsigned, unsigned *,
-                         void (*fn)(void));
-extern void FFI_HIDDEN ffi_call_LINUX64(extended_cif *, unsigned long,
-                                       unsigned long, unsigned long *,
-                                       void (*fn)(void));
-
-void
-ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  /* If the return value is a struct and we don't have a return        */
-  /* value address then we need to make one                    */
-
-  if ((rvalue == NULL) && (cif->rtype->type == FFI_TYPE_STRUCT))
-    {
-      ecif.rvalue = alloca(cif->rtype->size);
-    }
-  else
-    ecif.rvalue = rvalue;
-
-
-  switch (cif->abi)
-    {
-#ifndef POWERPC64
-    case FFI_SYSV:
-    case FFI_GCC_SYSV:
-    case FFI_LINUX:
-    case FFI_LINUX_SOFT_FLOAT:
-      ffi_call_SYSV (&ecif, -cif->bytes, cif->flags, ecif.rvalue, fn);
-      break;
-#else
-    case FFI_LINUX64:
-      ffi_call_LINUX64 (&ecif, -(long) cif->bytes, cif->flags, ecif.rvalue, fn);
-      break;
-#endif
-    default:
-      FFI_ASSERT (0);
-      break;
-    }
-}
-
-
-#ifndef POWERPC64
-#define MIN_CACHE_LINE_SIZE 8
-
-static void
-flush_icache (char *wraddr, char *xaddr, int size)
-{
-  int i;
-  for (i = 0; i < size; i += MIN_CACHE_LINE_SIZE)
-    __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;"
-                     : : "r" (xaddr + i), "r" (wraddr + i) : "memory");
-  __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;" "sync;" "isync;"
-                   : : "r"(xaddr + size - 1), "r"(wraddr + size - 1)
-                   : "memory");
-}
-#endif
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure *closure,
-                     ffi_cif *cif,
-                     void (*fun) (ffi_cif *, void *, void **, void *),
-                     void *user_data,
-                     void *codeloc)
-{
-#ifdef POWERPC64
-  void **tramp = (void **) &closure->tramp[0];
-
-  FFI_ASSERT (cif->abi == FFI_LINUX64);
-  /* Copy function address and TOC from ffi_closure_LINUX64.  */
-  memcpy (tramp, (char *) ffi_closure_LINUX64, 16);
-  tramp[2] = codeloc;
-#else
-  unsigned int *tramp;
-
-  FFI_ASSERT (cif->abi == FFI_GCC_SYSV || cif->abi == FFI_SYSV);
-
-  tramp = (unsigned int *) &closure->tramp[0];
-  tramp[0] = 0x7c0802a6;  /*   mflr    r0 */
-  tramp[1] = 0x4800000d;  /*   bl      10 <trampoline_initial+0x10> */
-  tramp[4] = 0x7d6802a6;  /*   mflr    r11 */
-  tramp[5] = 0x7c0803a6;  /*   mtlr    r0 */
-  tramp[6] = 0x800b0000;  /*   lwz     r0,0(r11) */
-  tramp[7] = 0x816b0004;  /*   lwz     r11,4(r11) */
-  tramp[8] = 0x7c0903a6;  /*   mtctr   r0 */
-  tramp[9] = 0x4e800420;  /*   bctr */
-  *(void **) &tramp[2] = (void *) ffi_closure_SYSV; /* function */
-  *(void **) &tramp[3] = codeloc;                   /* context */
-
-  /* Flush the icache.  */
-  flush_icache ((char *)tramp, (char *)codeloc, FFI_TRAMPOLINE_SIZE);
-#endif
-
-  closure->cif = cif;
-  closure->fun = fun;
-  closure->user_data = user_data;
-
-  return FFI_OK;
-}
-
-typedef union
-{
-  float f;
-  double d;
-} ffi_dblfl;
-
-int ffi_closure_helper_SYSV (ffi_closure *, void *, unsigned long *,
-                            ffi_dblfl *, unsigned long *);
-
-/* Basically the trampoline invokes ffi_closure_SYSV, and on
- * entry, r11 holds the address of the closure.
- * After storing the registers that could possibly contain
- * parameters to be passed into the stack frame and setting
- * up space for a return value, ffi_closure_SYSV invokes the
- * following helper function to do most of the work
- */
-
-int
-ffi_closure_helper_SYSV (ffi_closure *closure, void *rvalue,
-                        unsigned long *pgr, ffi_dblfl *pfr,
-                        unsigned long *pst)
-{
-  /* rvalue is the pointer to space for return value in closure assembly */
-  /* pgr is the pointer to where r3-r10 are stored in ffi_closure_SYSV */
-  /* pfr is the pointer to where f1-f8 are stored in ffi_closure_SYSV  */
-  /* pst is the pointer to outgoing parameter stack in original caller */
-
-  void **          avalue;
-  ffi_type **      arg_types;
-  long             i, avn;
-  long             nf;   /* number of floating registers already used */
-  long             ng;   /* number of general registers already used */
-  ffi_cif *        cif;
-  double           temp;
-  unsigned         size;
-
-  cif = closure->cif;
-  avalue = alloca (cif->nargs * sizeof (void *));
-  size = cif->rtype->size;
-
-  nf = 0;
-  ng = 0;
-
-  /* Copy the caller's structure return value address so that the closure
-     returns the data directly to the caller.
-     For FFI_SYSV the result is passed in r3/r4 if the struct size is less
-     or equal 8 bytes.  */
-
-  if ((cif->rtype->type == FFI_TYPE_STRUCT
-       && !((cif->abi == FFI_SYSV) && (size <= 8)))
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-      || (cif->rtype->type == FFI_TYPE_LONGDOUBLE
-         && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-#endif
-      )
-    {
-      rvalue = (void *) *pgr;
-      ng++;
-      pgr++;
-    }
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  /* Grab the addresses of the arguments from the stack frame.  */
-  while (i < avn)
-    {
-      switch (arg_types[i]->type)
-       {
-       case FFI_TYPE_SINT8:
-       case FFI_TYPE_UINT8:
-         /* there are 8 gpr registers used to pass values */
-         if (ng < 8)
-           {
-             avalue[i] = (char *) pgr + 3;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = (char *) pst + 3;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_SINT16:
-       case FFI_TYPE_UINT16:
-         /* there are 8 gpr registers used to pass values */
-         if (ng < 8)
-           {
-             avalue[i] = (char *) pgr + 2;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = (char *) pst + 2;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_UINT32:
-       case FFI_TYPE_POINTER:
-       soft_float_closure:
-         /* there are 8 gpr registers used to pass values */
-         if (ng < 8)
-           {
-             avalue[i] = pgr;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = pst;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       do_struct:
-#endif
-         /* Structs are passed by reference. The address will appear in a
-            gpr if it is one of the first 8 arguments.  */
-         if (ng < 8)
-           {
-             avalue[i] = (void *) *pgr;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = (void *) *pst;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_UINT64:
-       soft_double_closure:
-         /* passing long long ints are complex, they must
-          * be passed in suitable register pairs such as
-          * (r3,r4) or (r5,r6) or (r6,r7), or (r7,r8) or (r9,r10)
-          * and if the entire pair aren't available then the outgoing
-          * parameter stack is used for both but an alignment of 8
-          * must will be kept.  So we must either look in pgr
-          * or pst to find the correct address for this type
-          * of parameter.
-          */
-         if (ng < 7)
-           {
-             if (ng & 0x01)
-               {
-                 /* skip r4, r6, r8 as starting points */
-                 ng++;
-                 pgr++;
-               }
-             avalue[i] = pgr;
-             ng += 2;
-             pgr += 2;
-           }
-         else
-           {
-             if (((long) pst) & 4)
-               pst++;
-             avalue[i] = pst;
-             pst += 2;
-             ng = 8;
-           }
-         break;
-
-       case FFI_TYPE_FLOAT:
-         /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32.  */
-         if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_float_closure;
-         /* unfortunately float values are stored as doubles
-          * in the ffi_closure_SYSV code (since we don't check
-          * the type in that routine).
-          */
-
-         /* there are 8 64bit floating point registers */
-
-         if (nf < 8)
-           {
-             temp = pfr->d;
-             pfr->f = (float) temp;
-             avalue[i] = pfr;
-             nf++;
-             pfr++;
-           }
-         else
-           {
-             /* FIXME? here we are really changing the values
-              * stored in the original calling routines outgoing
-              * parameter stack.  This is probably a really
-              * naughty thing to do but...
-              */
-             avalue[i] = pst;
-             pst += 1;
-           }
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64.  */
-         if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_double_closure;
-         /* On the outgoing stack all values are aligned to 8 */
-         /* there are 8 64bit floating point registers */
-
-         if (nf < 8)
-           {
-             avalue[i] = pfr;
-             nf++;
-             pfr++;
-           }
-         else
-           {
-             if (((long) pst) & 4)
-               pst++;
-             avalue[i] = pst;
-             pst += 2;
-           }
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-           goto do_struct;
-         if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-           { /* Test if for the whole long double, 4 gprs are available.
-                otherwise the stuff ends up on the stack.  */
-             if (ng < 5)
-               {
-                 avalue[i] = pgr;
-                 pgr += 4;
-                 ng += 4;
-               }
-             else
-               {
-                 avalue[i] = pst;
-                 pst += 4;
-                 ng = 8;
-               }
-             break;
-           }
-         if (nf < 7)
-           {
-             avalue[i] = pfr;
-             pfr += 2;
-             nf += 2;
-           }
-         else
-           {
-             if (((long) pst) & 4)
-               pst++;
-             avalue[i] = pst;
-             pst += 4;
-             nf = 8;
-           }
-         break;
-#endif
-
-       default:
-         FFI_ASSERT (0);
-       }
-
-      i++;
-    }
-
-
-  (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell ffi_closure_SYSV how to perform return type promotions.
-     Because the FFI_SYSV ABI returns the structures <= 8 bytes in r3/r4
-     we have to tell ffi_closure_SYSV how to treat them. We combine the base
-     type FFI_SYSV_TYPE_SMALL_STRUCT - 1  with the size of the struct.
-     So a one byte struct gets the return type 16. Return type 1 to 15 are
-     already used and we never have a struct with size zero. That is the reason
-     for the subtraction of 1. See the comment in ffitarget.h about ordering.
-  */
-  if (cif->abi == FFI_SYSV && cif->rtype->type == FFI_TYPE_STRUCT
-      && size <= 8)
-    return (FFI_SYSV_TYPE_SMALL_STRUCT - 1) + size;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-  else if (cif->rtype->type == FFI_TYPE_LONGDOUBLE
-          && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-    return FFI_TYPE_STRUCT;
-#endif
-  /* With FFI_LINUX_SOFT_FLOAT floats and doubles are handled like UINT32
-     respectivley UINT64.  */
-  if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-    {
-      switch (cif->rtype->type)
-       {
-       case FFI_TYPE_FLOAT:
-         return FFI_TYPE_UINT32;
-         break;
-       case FFI_TYPE_DOUBLE:
-         return FFI_TYPE_UINT64;
-         break;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         return FFI_TYPE_UINT128;
-         break;
-#endif
-       default:
-         return cif->rtype->type;
-       }
-    }
-  else
-    {
-      return cif->rtype->type;
-    }
-}
-
-int FFI_HIDDEN ffi_closure_helper_LINUX64 (ffi_closure *, void *,
-                                          unsigned long *, ffi_dblfl *);
-
-int FFI_HIDDEN
-ffi_closure_helper_LINUX64 (ffi_closure *closure, void *rvalue,
-                           unsigned long *pst, ffi_dblfl *pfr)
-{
-  /* rvalue is the pointer to space for return value in closure assembly */
-  /* pst is the pointer to parameter save area
-     (r3-r10 are stored into its first 8 slots by ffi_closure_LINUX64) */
-  /* pfr is the pointer to where f1-f13 are stored in ffi_closure_LINUX64 */
-
-  void **avalue;
-  ffi_type **arg_types;
-  long i, avn;
-  ffi_cif *cif;
-  ffi_dblfl *end_pfr = pfr + NUM_FPR_ARG_REGISTERS64;
-
-  cif = closure->cif;
-  avalue = alloca (cif->nargs * sizeof (void *));
-
-  /* Copy the caller's structure return value address so that the closure
-     returns the data directly to the caller.  */
-  if (cif->rtype->type == FFI_TYPE_STRUCT)
-    {
-      rvalue = (void *) *pst;
-      pst++;
-    }
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  /* Grab the addresses of the arguments from the stack frame.  */
-  while (i < avn)
-    {
-      switch (arg_types[i]->type)
-       {
-       case FFI_TYPE_SINT8:
-       case FFI_TYPE_UINT8:
-         avalue[i] = (char *) pst + 7;
-         pst++;
-         break;
-
-       case FFI_TYPE_SINT16:
-       case FFI_TYPE_UINT16:
-         avalue[i] = (char *) pst + 6;
-         pst++;
-         break;
-
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_UINT32:
-         avalue[i] = (char *) pst + 4;
-         pst++;
-         break;
-
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_POINTER:
-         avalue[i] = pst;
-         pst++;
-         break;
-
-       case FFI_TYPE_STRUCT:
-         /* Structures with size less than eight bytes are passed
-            left-padded.  */
-         if (arg_types[i]->size < 8)
-           avalue[i] = (char *) pst + 8 - arg_types[i]->size;
-         else
-           avalue[i] = pst;
-         pst += (arg_types[i]->size + 7) / 8;
-         break;
-
-       case FFI_TYPE_FLOAT:
-         /* unfortunately float values are stored as doubles
-          * in the ffi_closure_LINUX64 code (since we don't check
-          * the type in that routine).
-          */
-
-         /* there are 13 64bit floating point registers */
-
-         if (pfr < end_pfr)
-           {
-             double temp = pfr->d;
-             pfr->f = (float) temp;
-             avalue[i] = pfr;
-             pfr++;
-           }
-         else
-           avalue[i] = pst;
-         pst++;
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         /* On the outgoing stack all values are aligned to 8 */
-         /* there are 13 64bit floating point registers */
-
-         if (pfr < end_pfr)
-           {
-             avalue[i] = pfr;
-             pfr++;
-           }
-         else
-           avalue[i] = pst;
-         pst++;
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         if (pfr + 1 < end_pfr)
-           {
-             avalue[i] = pfr;
-             pfr += 2;
-           }
-         else
-           {
-             if (pfr < end_pfr)
-               {
-                 /* Passed partly in f13 and partly on the stack.
-                    Move it all to the stack.  */
-                 *pst = *(unsigned long *) pfr;
-                 pfr++;
-               }
-             avalue[i] = pst;
-           }
-         pst += 2;
-         break;
-#endif
-
-       default:
-         FFI_ASSERT (0);
-       }
-
-      i++;
-    }
-
-
-  (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell ffi_closure_LINUX64 how to perform return type promotions.  */
-  return cif->rtype->type;
-}
diff --git a/.pc/bad-abi-fix/src/prep_cif.c b/.pc/bad-abi-fix/src/prep_cif.c
deleted file mode 100644 (file)
index 66ac0ba..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-/* -----------------------------------------------------------------------
-   prep_cif.c - Copyright (c) 2011, 2012  Anthony Green
-                Copyright (c) 1996, 1998, 2007  Red Hat, Inc.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-#ifndef __GNUC__
-#define __builtin_expect(x, expected_value) (x)
-#endif
-#define LIKELY(x)    __builtin_expect((x),1)
-#define UNLIKELY(x)  __builtin_expect((x),1)
-
-/* Round up to FFI_SIZEOF_ARG. */
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-/* Perform machine independent initialization of aggregate type
-   specifications. */
-
-static ffi_status initialize_aggregate(ffi_type *arg)
-{
-  ffi_type **ptr;
-
-  FFI_ASSERT(arg != NULL);
-
-  FFI_ASSERT(arg->elements != NULL);
-  FFI_ASSERT(arg->size == 0);
-  FFI_ASSERT(arg->alignment == 0);
-
-  ptr = &(arg->elements[0]);
-
-  if (UNLIKELY(ptr == 0))
-    return FFI_BAD_TYPEDEF;
-
-  while ((*ptr) != NULL)
-    {
-      if (UNLIKELY(((*ptr)->size == 0)
-                   && (initialize_aggregate((*ptr)) != FFI_OK)))
-       return FFI_BAD_TYPEDEF;
-
-      /* Perform a sanity check on the argument type */
-      FFI_ASSERT_VALID_TYPE(*ptr);
-
-      arg->size = ALIGN(arg->size, (*ptr)->alignment);
-      arg->size += (*ptr)->size;
-
-      arg->alignment = (arg->alignment > (*ptr)->alignment) ?
-       arg->alignment : (*ptr)->alignment;
-
-      ptr++;
-    }
-
-  /* Structure size includes tail padding.  This is important for
-     structures that fit in one register on ABIs like the PowerPC64
-     Linux ABI that right justify small structs in a register.
-     It's also needed for nested structure layout, for example
-     struct A { long a; char b; }; struct B { struct A x; char y; };
-     should find y at an offset of 2*sizeof(long) and result in a
-     total size of 3*sizeof(long).  */
-  arg->size = ALIGN (arg->size, arg->alignment);
-
-  if (arg->size == 0)
-    return FFI_BAD_TYPEDEF;
-  else
-    return FFI_OK;
-}
-
-#ifndef __CRIS__
-/* The CRIS ABI specifies structure elements to have byte
-   alignment only, so it completely overrides this functions,
-   which assumes "natural" alignment and padding.  */
-
-/* Perform machine independent ffi_cif preparation, then call
-   machine dependent routine. */
-
-ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
-                       ffi_type *rtype, ffi_type **atypes)
-{
-  unsigned bytes = 0;
-  unsigned int i;
-  ffi_type **ptr;
-
-  FFI_ASSERT(cif != NULL);
-#ifndef X86_WIN32
-  if (! (abi > FFI_FIRST_ABI) && (abi <= FFI_LAST_ABI))
-    return FFI_BAD_ABI;
-#else
-  if (! (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI || abi == FFI_THISCALL))
-    return FFI_BAD_ABI;
-#endif
-
-  cif->abi = abi;
-  cif->arg_types = atypes;
-  cif->nargs = nargs;
-  cif->rtype = rtype;
-
-  cif->flags = 0;
-
-  /* Initialize the return type if necessary */
-  if ((cif->rtype->size == 0) && (initialize_aggregate(cif->rtype) != FFI_OK))
-    return FFI_BAD_TYPEDEF;
-
-  /* Perform a sanity check on the return type */
-  FFI_ASSERT_VALID_TYPE(cif->rtype);
-
-  /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */
-#if !defined M68K && !defined X86_ANY && !defined S390 && !defined PA
-  /* Make space for the return structure pointer */
-  if (cif->rtype->type == FFI_TYPE_STRUCT
-#ifdef SPARC
-      && (cif->abi != FFI_V9 || cif->rtype->size > 32)
-#endif
-     )
-    bytes = STACK_ARG_SIZE(sizeof(void*));
-#endif
-
-  for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-    {
-
-      /* Initialize any uninitialized aggregate type definitions */
-      if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
-       return FFI_BAD_TYPEDEF;
-
-      /* Perform a sanity check on the argument type, do this
-        check after the initialization.  */
-      FFI_ASSERT_VALID_TYPE(*ptr);
-
-#if !defined X86_ANY && !defined S390 && !defined PA
-#ifdef SPARC
-      if (((*ptr)->type == FFI_TYPE_STRUCT
-          && ((*ptr)->size > 16 || cif->abi != FFI_V9))
-         || ((*ptr)->type == FFI_TYPE_LONGDOUBLE
-             && cif->abi != FFI_V9))
-       bytes += sizeof(void*);
-      else
-#endif
-       {
-         /* Add any padding if necessary */
-         if (((*ptr)->alignment - 1) & bytes)
-           bytes = ALIGN(bytes, (*ptr)->alignment);
-
-         bytes += STACK_ARG_SIZE((*ptr)->size);
-       }
-#endif
-    }
-
-  cif->bytes = bytes;
-
-  /* Perform machine dependent cif processing */
-  return ffi_prep_cif_machdep(cif);
-}
-#endif /* not __CRIS__ */
-
-#if FFI_CLOSURES
-
-ffi_status
-ffi_prep_closure (ffi_closure* closure,
-                 ffi_cif* cif,
-                 void (*fun)(ffi_cif*,void*,void**,void*),
-                 void *user_data)
-{
-  return ffi_prep_closure_loc (closure, cif, fun, user_data, closure);
-}
-
-#endif
diff --git a/.pc/bad-abi-fix/src/x86/ffi64.c b/.pc/bad-abi-fix/src/x86/ffi64.c
deleted file mode 100644 (file)
index c523b2e..0000000
+++ /dev/null
@@ -1,640 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi64.c - Copyright (c) 2002, 2007  Bo Thorsen <bo@suse.de>
-             Copyright (c) 2008, 2010  Red Hat, Inc.
-   
-   x86-64 Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#ifndef __GNUC__
-#define __builtin_expect(x, expected_value) (x)
-#endif
-#define LIKELY(x)    __builtin_expect((x),1)
-#define UNLIKELY(x)  __builtin_expect((x),1)
-
-#include <stdlib.h>
-#include <stdarg.h>
-
-#ifdef __x86_64__
-
-#define MAX_GPR_REGS 6
-#define MAX_SSE_REGS 8
-
-struct register_args
-{
-  /* Registers for argument passing.  */
-  UINT64 gpr[MAX_GPR_REGS];
-  __int128_t sse[MAX_SSE_REGS];
-};
-
-extern void ffi_call_unix64 (void *args, unsigned long bytes, unsigned flags,
-                            void *raddr, void (*fnaddr)(void), unsigned ssecount);
-
-/* All reference to register classes here is identical to the code in
-   gcc/config/i386/i386.c. Do *not* change one without the other.  */
-
-/* Register class used for passing given 64bit part of the argument.
-   These represent classes as documented by the PS ABI, with the
-   exception of SSESF, SSEDF classes, that are basically SSE class,
-   just gcc will use SF or DFmode move instead of DImode to avoid
-   reformatting penalties.
-
-   Similary we play games with INTEGERSI_CLASS to use cheaper SImode moves
-   whenever possible (upper half does contain padding).  */
-enum x86_64_reg_class
-  {
-    X86_64_NO_CLASS,
-    X86_64_INTEGER_CLASS,
-    X86_64_INTEGERSI_CLASS,
-    X86_64_SSE_CLASS,
-    X86_64_SSESF_CLASS,
-    X86_64_SSEDF_CLASS,
-    X86_64_SSEUP_CLASS,
-    X86_64_X87_CLASS,
-    X86_64_X87UP_CLASS,
-    X86_64_COMPLEX_X87_CLASS,
-    X86_64_MEMORY_CLASS
-  };
-
-#define MAX_CLASSES 4
-
-#define SSE_CLASS_P(X) ((X) >= X86_64_SSE_CLASS && X <= X86_64_SSEUP_CLASS)
-
-/* x86-64 register passing implementation.  See x86-64 ABI for details.  Goal
-   of this code is to classify each 8bytes of incoming argument by the register
-   class and assign registers accordingly.  */
-
-/* Return the union class of CLASS1 and CLASS2.
-   See the x86-64 PS ABI for details.  */
-
-static enum x86_64_reg_class
-merge_classes (enum x86_64_reg_class class1, enum x86_64_reg_class class2)
-{
-  /* Rule #1: If both classes are equal, this is the resulting class.  */
-  if (class1 == class2)
-    return class1;
-
-  /* Rule #2: If one of the classes is NO_CLASS, the resulting class is
-     the other class.  */
-  if (class1 == X86_64_NO_CLASS)
-    return class2;
-  if (class2 == X86_64_NO_CLASS)
-    return class1;
-
-  /* Rule #3: If one of the classes is MEMORY, the result is MEMORY.  */
-  if (class1 == X86_64_MEMORY_CLASS || class2 == X86_64_MEMORY_CLASS)
-    return X86_64_MEMORY_CLASS;
-
-  /* Rule #4: If one of the classes is INTEGER, the result is INTEGER.  */
-  if ((class1 == X86_64_INTEGERSI_CLASS && class2 == X86_64_SSESF_CLASS)
-      || (class2 == X86_64_INTEGERSI_CLASS && class1 == X86_64_SSESF_CLASS))
-    return X86_64_INTEGERSI_CLASS;
-  if (class1 == X86_64_INTEGER_CLASS || class1 == X86_64_INTEGERSI_CLASS
-      || class2 == X86_64_INTEGER_CLASS || class2 == X86_64_INTEGERSI_CLASS)
-    return X86_64_INTEGER_CLASS;
-
-  /* Rule #5: If one of the classes is X87, X87UP, or COMPLEX_X87 class,
-     MEMORY is used.  */
-  if (class1 == X86_64_X87_CLASS
-      || class1 == X86_64_X87UP_CLASS
-      || class1 == X86_64_COMPLEX_X87_CLASS
-      || class2 == X86_64_X87_CLASS
-      || class2 == X86_64_X87UP_CLASS
-      || class2 == X86_64_COMPLEX_X87_CLASS)
-    return X86_64_MEMORY_CLASS;
-
-  /* Rule #6: Otherwise class SSE is used.  */
-  return X86_64_SSE_CLASS;
-}
-
-/* Classify the argument of type TYPE and mode MODE.
-   CLASSES will be filled by the register class used to pass each word
-   of the operand.  The number of words is returned.  In case the parameter
-   should be passed in memory, 0 is returned. As a special case for zero
-   sized containers, classes[0] will be NO_CLASS and 1 is returned.
-
-   See the x86-64 PS ABI for details.
-*/
-static int
-classify_argument (ffi_type *type, enum x86_64_reg_class classes[],
-                  size_t byte_offset)
-{
-  switch (type->type)
-    {
-    case FFI_TYPE_UINT8:
-    case FFI_TYPE_SINT8:
-    case FFI_TYPE_UINT16:
-    case FFI_TYPE_SINT16:
-    case FFI_TYPE_UINT32:
-    case FFI_TYPE_SINT32:
-    case FFI_TYPE_UINT64:
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_POINTER:
-      {
-       int size = byte_offset + type->size;
-
-       if (size <= 4)
-         {
-           classes[0] = X86_64_INTEGERSI_CLASS;
-           return 1;
-         }
-       else if (size <= 8)
-         {
-           classes[0] = X86_64_INTEGER_CLASS;
-           return 1;
-         }
-       else if (size <= 12)
-         {
-           classes[0] = X86_64_INTEGER_CLASS;
-           classes[1] = X86_64_INTEGERSI_CLASS;
-           return 2;
-         }
-       else if (size <= 16)
-         {
-           classes[0] = classes[1] = X86_64_INTEGERSI_CLASS;
-           return 2;
-         }
-       else
-         FFI_ASSERT (0);
-      }
-    case FFI_TYPE_FLOAT:
-      if (!(byte_offset % 8))
-       classes[0] = X86_64_SSESF_CLASS;
-      else
-       classes[0] = X86_64_SSE_CLASS;
-      return 1;
-    case FFI_TYPE_DOUBLE:
-      classes[0] = X86_64_SSEDF_CLASS;
-      return 1;
-    case FFI_TYPE_LONGDOUBLE:
-      classes[0] = X86_64_X87_CLASS;
-      classes[1] = X86_64_X87UP_CLASS;
-      return 2;
-    case FFI_TYPE_STRUCT:
-      {
-       const int UNITS_PER_WORD = 8;
-       int words = (type->size + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
-       ffi_type **ptr; 
-       int i;
-       enum x86_64_reg_class subclasses[MAX_CLASSES];
-
-       /* If the struct is larger than 32 bytes, pass it on the stack.  */
-       if (type->size > 32)
-         return 0;
-
-       for (i = 0; i < words; i++)
-         classes[i] = X86_64_NO_CLASS;
-
-       /* Zero sized arrays or structures are NO_CLASS.  We return 0 to
-          signalize memory class, so handle it as special case.  */
-       if (!words)
-         {
-           classes[0] = X86_64_NO_CLASS;
-           return 1;
-         }
-
-       /* Merge the fields of structure.  */
-       for (ptr = type->elements; *ptr != NULL; ptr++)
-         {
-           int num;
-
-           byte_offset = ALIGN (byte_offset, (*ptr)->alignment);
-
-           num = classify_argument (*ptr, subclasses, byte_offset % 8);
-           if (num == 0)
-             return 0;
-           for (i = 0; i < num; i++)
-             {
-               int pos = byte_offset / 8;
-               classes[i + pos] =
-                 merge_classes (subclasses[i], classes[i + pos]);
-             }
-
-           byte_offset += (*ptr)->size;
-         }
-
-       if (words > 2)
-         {
-           /* When size > 16 bytes, if the first one isn't
-              X86_64_SSE_CLASS or any other ones aren't
-              X86_64_SSEUP_CLASS, everything should be passed in
-              memory.  */
-           if (classes[0] != X86_64_SSE_CLASS)
-             return 0;
-
-           for (i = 1; i < words; i++)
-             if (classes[i] != X86_64_SSEUP_CLASS)
-               return 0;
-         }
-
-       /* Final merger cleanup.  */
-       for (i = 0; i < words; i++)
-         {
-           /* If one class is MEMORY, everything should be passed in
-              memory.  */
-           if (classes[i] == X86_64_MEMORY_CLASS)
-             return 0;
-
-           /* The X86_64_SSEUP_CLASS should be always preceded by
-              X86_64_SSE_CLASS or X86_64_SSEUP_CLASS.  */
-           if (classes[i] == X86_64_SSEUP_CLASS
-               && classes[i - 1] != X86_64_SSE_CLASS
-               && classes[i - 1] != X86_64_SSEUP_CLASS)
-             {
-               /* The first one should never be X86_64_SSEUP_CLASS.  */
-               FFI_ASSERT (i != 0);
-               classes[i] = X86_64_SSE_CLASS;
-             }
-
-           /*  If X86_64_X87UP_CLASS isn't preceded by X86_64_X87_CLASS,
-               everything should be passed in memory.  */
-           if (classes[i] == X86_64_X87UP_CLASS
-               && (classes[i - 1] != X86_64_X87_CLASS))
-             {
-               /* The first one should never be X86_64_X87UP_CLASS.  */
-               FFI_ASSERT (i != 0);
-               return 0;
-             }
-         }
-       return words;
-      }
-
-    default:
-      FFI_ASSERT(0);
-    }
-  return 0; /* Never reached.  */
-}
-
-/* Examine the argument and return set number of register required in each
-   class.  Return zero iff parameter should be passed in memory, otherwise
-   the number of registers.  */
-
-static int
-examine_argument (ffi_type *type, enum x86_64_reg_class classes[MAX_CLASSES],
-                 _Bool in_return, int *pngpr, int *pnsse)
-{
-  int i, n, ngpr, nsse;
-
-  n = classify_argument (type, classes, 0);
-  if (n == 0)
-    return 0;
-
-  ngpr = nsse = 0;
-  for (i = 0; i < n; ++i)
-    switch (classes[i])
-      {
-      case X86_64_INTEGER_CLASS:
-      case X86_64_INTEGERSI_CLASS:
-       ngpr++;
-       break;
-      case X86_64_SSE_CLASS:
-      case X86_64_SSESF_CLASS:
-      case X86_64_SSEDF_CLASS:
-       nsse++;
-       break;
-      case X86_64_NO_CLASS:
-      case X86_64_SSEUP_CLASS:
-       break;
-      case X86_64_X87_CLASS:
-      case X86_64_X87UP_CLASS:
-      case X86_64_COMPLEX_X87_CLASS:
-       return in_return != 0;
-      default:
-       abort ();
-      }
-
-  *pngpr = ngpr;
-  *pnsse = nsse;
-
-  return n;
-}
-
-/* Perform machine dependent cif processing.  */
-
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
-  int gprcount, ssecount, i, avn, n, ngpr, nsse, flags;
-  enum x86_64_reg_class classes[MAX_CLASSES];
-  size_t bytes;
-
-  gprcount = ssecount = 0;
-
-  flags = cif->rtype->type;
-  if (flags != FFI_TYPE_VOID)
-    {
-      n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse);
-      if (n == 0)
-       {
-         /* The return value is passed in memory.  A pointer to that
-            memory is the first argument.  Allocate a register for it.  */
-         gprcount++;
-         /* We don't have to do anything in asm for the return.  */
-         flags = FFI_TYPE_VOID;
-       }
-      else if (flags == FFI_TYPE_STRUCT)
-       {
-         /* Mark which registers the result appears in.  */
-         _Bool sse0 = SSE_CLASS_P (classes[0]);
-         _Bool sse1 = n == 2 && SSE_CLASS_P (classes[1]);
-         if (sse0 && !sse1)
-           flags |= 1 << 8;
-         else if (!sse0 && sse1)
-           flags |= 1 << 9;
-         else if (sse0 && sse1)
-           flags |= 1 << 10;
-         /* Mark the true size of the structure.  */
-         flags |= cif->rtype->size << 12;
-       }
-    }
-
-  /* Go over all arguments and determine the way they should be passed.
-     If it's in a register and there is space for it, let that be so. If
-     not, add it's size to the stack byte count.  */
-  for (bytes = 0, i = 0, avn = cif->nargs; i < avn; i++)
-    {
-      if (examine_argument (cif->arg_types[i], classes, 0, &ngpr, &nsse) == 0
-         || gprcount + ngpr > MAX_GPR_REGS
-         || ssecount + nsse > MAX_SSE_REGS)
-       {
-         long align = cif->arg_types[i]->alignment;
-
-         if (align < 8)
-           align = 8;
-
-         bytes = ALIGN (bytes, align);
-         bytes += cif->arg_types[i]->size;
-       }
-      else
-       {
-         gprcount += ngpr;
-         ssecount += nsse;
-       }
-    }
-  if (ssecount)
-    flags |= 1 << 11;
-  cif->flags = flags;
-  cif->bytes = ALIGN (bytes, 8);
-
-  return FFI_OK;
-}
-
-void
-ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  enum x86_64_reg_class classes[MAX_CLASSES];
-  char *stack, *argp;
-  ffi_type **arg_types;
-  int gprcount, ssecount, ngpr, nsse, i, avn;
-  _Bool ret_in_memory;
-  struct register_args *reg_args;
-
-  /* Can't call 32-bit mode from 64-bit mode.  */
-  FFI_ASSERT (cif->abi == FFI_UNIX64);
-
-  /* If the return value is a struct and we don't have a return value
-     address then we need to make one.  Note the setting of flags to
-     VOID above in ffi_prep_cif_machdep.  */
-  ret_in_memory = (cif->rtype->type == FFI_TYPE_STRUCT
-                  && (cif->flags & 0xff) == FFI_TYPE_VOID);
-  if (rvalue == NULL && ret_in_memory)
-    rvalue = alloca (cif->rtype->size);
-
-  /* Allocate the space for the arguments, plus 4 words of temp space.  */
-  stack = alloca (sizeof (struct register_args) + cif->bytes + 4*8);
-  reg_args = (struct register_args *) stack;
-  argp = stack + sizeof (struct register_args);
-
-  gprcount = ssecount = 0;
-
-  /* If the return value is passed in memory, add the pointer as the
-     first integer argument.  */
-  if (ret_in_memory)
-    reg_args->gpr[gprcount++] = (long) rvalue;
-
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  for (i = 0; i < avn; ++i)
-    {
-      size_t size = arg_types[i]->size;
-      int n;
-
-      n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
-      if (n == 0
-         || gprcount + ngpr > MAX_GPR_REGS
-         || ssecount + nsse > MAX_SSE_REGS)
-       {
-         long align = arg_types[i]->alignment;
-
-         /* Stack arguments are *always* at least 8 byte aligned.  */
-         if (align < 8)
-           align = 8;
-
-         /* Pass this argument in memory.  */
-         argp = (void *) ALIGN (argp, align);
-         memcpy (argp, avalue[i], size);
-         argp += size;
-       }
-      else
-       {
-         /* The argument is passed entirely in registers.  */
-         char *a = (char *) avalue[i];
-         int j;
-
-         for (j = 0; j < n; j++, a += 8, size -= 8)
-           {
-             switch (classes[j])
-               {
-               case X86_64_INTEGER_CLASS:
-               case X86_64_INTEGERSI_CLASS:
-                 reg_args->gpr[gprcount] = 0;
-                 memcpy (&reg_args->gpr[gprcount], a, size < 8 ? size : 8);
-                 gprcount++;
-                 break;
-               case X86_64_SSE_CLASS:
-               case X86_64_SSEDF_CLASS:
-                 reg_args->sse[ssecount++] = *(UINT64 *) a;
-                 break;
-               case X86_64_SSESF_CLASS:
-                 reg_args->sse[ssecount++] = *(UINT32 *) a;
-                 break;
-               default:
-                 abort();
-               }
-           }
-       }
-    }
-
-  ffi_call_unix64 (stack, cif->bytes + sizeof (struct register_args),
-                  cif->flags, rvalue, fn, ssecount);
-}
-
-
-extern void ffi_closure_unix64(void);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif*, void*, void**, void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  volatile unsigned short *tramp;
-
-  /* Sanity check on the cif ABI.  */
-  {
-    int abi = cif->abi;
-    if (UNLIKELY (! (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI)))
-      return FFI_BAD_ABI;
-  }
-
-  tramp = (volatile unsigned short *) &closure->tramp[0];
-
-  tramp[0] = 0xbb49;           /* mov <code>, %r11     */
-  *(void * volatile *) &tramp[1] = ffi_closure_unix64;
-  tramp[5] = 0xba49;           /* mov <data>, %r10     */
-  *(void * volatile *) &tramp[6] = codeloc;
-
-  /* Set the carry bit iff the function uses any sse registers.
-     This is clc or stc, together with the first byte of the jmp.  */
-  tramp[10] = cif->flags & (1 << 11) ? 0x49f9 : 0x49f8;
-
-  tramp[11] = 0xe3ff;                  /* jmp *%r11    */
-
-  closure->cif = cif;
-  closure->fun = fun;
-  closure->user_data = user_data;
-
-  return FFI_OK;
-}
-
-int
-ffi_closure_unix64_inner(ffi_closure *closure, void *rvalue,
-                        struct register_args *reg_args, char *argp)
-{
-  ffi_cif *cif;
-  void **avalue;
-  ffi_type **arg_types;
-  long i, avn;
-  int gprcount, ssecount, ngpr, nsse;
-  int ret;
-
-  cif = closure->cif;
-  avalue = alloca(cif->nargs * sizeof(void *));
-  gprcount = ssecount = 0;
-
-  ret = cif->rtype->type;
-  if (ret != FFI_TYPE_VOID)
-    {
-      enum x86_64_reg_class classes[MAX_CLASSES];
-      int n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse);
-      if (n == 0)
-       {
-         /* The return value goes in memory.  Arrange for the closure
-            return value to go directly back to the original caller.  */
-         rvalue = (void *) reg_args->gpr[gprcount++];
-         /* We don't have to do anything in asm for the return.  */
-         ret = FFI_TYPE_VOID;
-       }
-      else if (ret == FFI_TYPE_STRUCT && n == 2)
-       {
-         /* Mark which register the second word of the structure goes in.  */
-         _Bool sse0 = SSE_CLASS_P (classes[0]);
-         _Bool sse1 = SSE_CLASS_P (classes[1]);
-         if (!sse0 && sse1)
-           ret |= 1 << 8;
-         else if (sse0 && !sse1)
-           ret |= 1 << 9;
-       }
-    }
-
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-  
-  for (i = 0; i < avn; ++i)
-    {
-      enum x86_64_reg_class classes[MAX_CLASSES];
-      int n;
-
-      n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
-      if (n == 0
-         || gprcount + ngpr > MAX_GPR_REGS
-         || ssecount + nsse > MAX_SSE_REGS)
-       {
-         long align = arg_types[i]->alignment;
-
-         /* Stack arguments are *always* at least 8 byte aligned.  */
-         if (align < 8)
-           align = 8;
-
-         /* Pass this argument in memory.  */
-         argp = (void *) ALIGN (argp, align);
-         avalue[i] = argp;
-         argp += arg_types[i]->size;
-       }
-      /* If the argument is in a single register, or two consecutive
-        integer registers, then we can use that address directly.  */
-      else if (n == 1
-              || (n == 2 && !(SSE_CLASS_P (classes[0])
-                              || SSE_CLASS_P (classes[1]))))
-       {
-         /* The argument is in a single register.  */
-         if (SSE_CLASS_P (classes[0]))
-           {
-             avalue[i] = &reg_args->sse[ssecount];
-             ssecount += n;
-           }
-         else
-           {
-             avalue[i] = &reg_args->gpr[gprcount];
-             gprcount += n;
-           }
-       }
-      /* Otherwise, allocate space to make them consecutive.  */
-      else
-       {
-         char *a = alloca (16);
-         int j;
-
-         avalue[i] = a;
-         for (j = 0; j < n; j++, a += 8)
-           {
-             if (SSE_CLASS_P (classes[j]))
-               memcpy (a, &reg_args->sse[ssecount++], 8);
-             else
-               memcpy (a, &reg_args->gpr[gprcount++], 8);
-           }
-       }
-    }
-
-  /* Invoke the closure.  */
-  closure->fun (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell assembly how to perform return type promotions.  */
-  return ret;
-}
-
-#endif /* __x86_64__ */
diff --git a/.pc/copyright-updates/.timestamp b/.pc/copyright-updates/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/copyright-updates/LICENSE b/.pc/copyright-updates/LICENSE
deleted file mode 100644 (file)
index ec2fd69..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-libffi - Copyright (c) 1996-2009  Anthony Green, Red Hat, Inc and others.  
-See source files for details.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-``Software''), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/.pc/darwin-EH-fix/.timestamp b/.pc/darwin-EH-fix/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/darwin-EH-fix/ChangeLog b/.pc/darwin-EH-fix/ChangeLog
deleted file mode 100644 (file)
index 15eac6e..0000000
+++ /dev/null
@@ -1,4668 +0,0 @@
-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  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-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-02-25  Anthony Green  <green@moxielogic.com>
-
-       * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
-       32-bit ABIs.
-
-2011-02-15  Anthony Green  <green@moxielogic.com>
-
-       * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
-       * configure: Rebuilt.
-
-2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2011-02-13  Anthony Green  <green@moxielogic.com>
-
-       * include/ffi_common.h (UNLIKELY, LIKELY): Define.
-       * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
-       * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
-       * src/prep_cif.c (initialize_aggregate): Convert assertion into
-       FFI_BAD_TYPEDEF return.  Initialize arg size and alignment to 0.
-
-       * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-       * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11  Anthony Green  <green@moxielogic.com>
-
-       * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-
-2011-02-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/darwin-EH-fix/src/powerpc/darwin.S b/.pc/darwin-EH-fix/src/powerpc/darwin.S
deleted file mode 100644 (file)
index 3b425da..0000000
+++ /dev/null
@@ -1,383 +0,0 @@
-/* -----------------------------------------------------------------------
-   darwin.S - Copyright (c) 2000 John Hornkvist
-             Copyright (c) 2004, 2010 Free Software Foundation, Inc.
-
-   PowerPC Assembly glue.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
-   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-   OTHER DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#define LIBFFI_ASM
-#if defined(__ppc64__)
-#define MODE_CHOICE(x, y) y
-#else
-#define MODE_CHOICE(x, y) x
-#endif
-
-#define machine_choice MODE_CHOICE(ppc7400,ppc64)
-
-; Define some pseudo-opcodes for size-independent load & store of GPRs ...
-#define lgu            MODE_CHOICE(lwzu, ldu)
-#define lg             MODE_CHOICE(lwz,ld)
-#define sg             MODE_CHOICE(stw,std)
-#define sgu            MODE_CHOICE(stwu,stdu)
-#define sgux           MODE_CHOICE(stwux,stdux)
-
-; ... and the size of GPRs and their storage indicator.
-#define GPR_BYTES      MODE_CHOICE(4,8)
-#define LOG2_GPR_BYTES MODE_CHOICE(2,3)        /* log2(GPR_BYTES) */
-#define g_long         MODE_CHOICE(long, quad) /* usage is ".g_long" */
-
-; From the ABI doc: "Mac OS X ABI Function Call Guide" Version 2009-02-04.
-#define LINKAGE_SIZE   MODE_CHOICE(24,48)
-#define PARAM_AREA     MODE_CHOICE(32,64)
-#define SAVED_LR_OFFSET        MODE_CHOICE(8,16)       /* save position for lr */
-
-/* If there is any FP stuff we make space for all of the regs.  */
-#define SAVED_FPR_COUNT 13
-#define FPR_SIZE       8
-#define RESULT_BYTES   16
-
-/* This should be kept in step with the same value in ffi_darwin.c.  */
-#define ASM_NEEDS_REGISTERS 4
-#define SAVE_REGS_SIZE (ASM_NEEDS_REGISTERS * GPR_BYTES)
-
-#include <fficonfig.h>
-#include <ffi.h>
-
-#define JUMPTARGET(name) name
-#define L(x) x
-
-       .text
-       .align 2
-       .globl _ffi_prep_args
-
-       .align 2
-       .globl _ffi_call_DARWIN
-
-       /* We arrive here with:
-          r3 = ptr to extended cif.
-          r4 = -bytes.
-          r5 = cif flags.
-          r6 = ptr to return value.
-          r7 = fn pointer (user func).
-          r8 = fn pointer (ffi_prep_args).
-          r9 = ffi_type* for the ret val.  */
-
-_ffi_call_DARWIN:
-Lstartcode:
-       mr      r12,r8  /* We only need r12 until the call,
-                          so it does not have to be saved.  */
-LFB1:
-       /* Save the old stack pointer as AP.  */
-       mr      r8,r1
-LCFI0:
-       
-       /* Save the retval type in parents frame.  */
-       sg      r9,(LINKAGE_SIZE+6*GPR_BYTES)(r8)
-
-       /* Allocate the stack space we need.  */
-       sgux    r1,r1,r4
-
-       /* Save registers we use.  */
-       mflr    r9
-       sg      r9,SAVED_LR_OFFSET(r8)
-
-       sg      r28,-(4 * GPR_BYTES)(r8)        
-       sg      r29,-(3 * GPR_BYTES)(r8)
-       sg      r30,-(2 * GPR_BYTES)(r8)
-       sg      r31,-(    GPR_BYTES)(r8)
-
-#if !defined(POWERPC_DARWIN)
-       /* The TOC slot is reserved in the Darwin ABI and r2 is volatile.  */
-       sg      r2,(5 * GPR_BYTES)(r1)
-#endif
-
-LCFI1:
-
-       /* Save arguments over call.  */
-       mr      r31,r5  /* flags,  */
-       mr      r30,r6  /* rvalue,  */
-       mr      r29,r7  /* function address,  */
-       mr      r28,r8  /* our AP.  */
-LCFI2:
-       /* Call ffi_prep_args. r3 = extended cif, r4 = stack ptr copy.  */
-       mr      r4,r1
-       li      r9,0
-
-       mtctr   r12 /* r12 holds address of _ffi_prep_args.  */
-       bctrl
-
-#if !defined(POWERPC_DARWIN)
-       /* The TOC slot is reserved in the Darwin ABI and r2 is volatile.  */
-       lg     r2,(5 * GPR_BYTES)(r1)
-#endif
-       /* Now do the call.
-          Set up cr1 with bits 4-7 of the flags.  */
-       mtcrf   0x40,r31
-       /* Get the address to call into CTR.  */
-       mtctr   r29
-       /* Load all those argument registers.
-          We have set up a nice stack frame, just load it into registers.  */
-       lg     r3, (LINKAGE_SIZE                )(r1)
-       lg     r4, (LINKAGE_SIZE +     GPR_BYTES)(r1)
-       lg     r5, (LINKAGE_SIZE + 2 * GPR_BYTES)(r1)
-       lg     r6, (LINKAGE_SIZE + 3 * GPR_BYTES)(r1)
-       nop
-       lg     r7, (LINKAGE_SIZE + 4 * GPR_BYTES)(r1)
-       lg     r8, (LINKAGE_SIZE + 5 * GPR_BYTES)(r1)
-       lg     r9, (LINKAGE_SIZE + 6 * GPR_BYTES)(r1)
-       lg     r10,(LINKAGE_SIZE + 7 * GPR_BYTES)(r1)
-
-L1:
-       /* ... Load all the FP registers.  */
-       bf      6,L2    /* No floats to load.  */
-       lfd     f1, -SAVE_REGS_SIZE-(13*FPR_SIZE)(r28)
-       lfd     f2, -SAVE_REGS_SIZE-(12*FPR_SIZE)(r28)
-       lfd     f3, -SAVE_REGS_SIZE-(11*FPR_SIZE)(r28)
-       lfd     f4, -SAVE_REGS_SIZE-(10*FPR_SIZE)(r28)
-       nop
-       lfd     f5, -SAVE_REGS_SIZE-( 9*FPR_SIZE)(r28)
-       lfd     f6, -SAVE_REGS_SIZE-( 8*FPR_SIZE)(r28)
-       lfd     f7, -SAVE_REGS_SIZE-( 7*FPR_SIZE)(r28)
-       lfd     f8, -SAVE_REGS_SIZE-( 6*FPR_SIZE)(r28)
-       nop
-       lfd     f9, -SAVE_REGS_SIZE-( 5*FPR_SIZE)(r28)
-       lfd     f10,-SAVE_REGS_SIZE-( 4*FPR_SIZE)(r28)
-       lfd     f11,-SAVE_REGS_SIZE-( 3*FPR_SIZE)(r28)
-       lfd     f12,-SAVE_REGS_SIZE-( 2*FPR_SIZE)(r28)
-       nop
-       lfd     f13,-SAVE_REGS_SIZE-( 1*FPR_SIZE)(r28)
-
-L2:
-       mr      r12,r29 /* Put the target address in r12 as specified.  */
-       mtctr   r12
-       nop
-       nop
-
-       /* Make the call.  */
-       bctrl
-
-       /* Now, deal with the return value.  */
-
-       /* m64 structure returns can occupy the same set of registers as
-          would be used to pass such a structure as arg0 - so take care 
-          not to step on any possibly hot regs.  */
-
-       /* Get the flags.. */
-       mtcrf   0x03,r31 ; we need c6 & cr7 now.
-       ; FLAG_RETURNS_NOTHING also covers struct ret-by-ref.
-       bt      30,L(done_return_value)   ; FLAG_RETURNS_NOTHING
-       bf      27,L(scalar_return_value) ; not FLAG_RETURNS_STRUCT
-       
-       /* OK, so we have a struct.  */
-#if defined(__ppc64__)
-       bt      31,L(maybe_return_128) ; FLAG_RETURNS_128BITS, special case 
-
-       /* OK, we have to map the return back to a mem struct.
-          We are about to trample the parents param area, so recover the
-          return type.  r29 is free, since the call is done.  */
-       lg      r29,(LINKAGE_SIZE + 6 * GPR_BYTES)(r28)
-
-       sg      r3, (LINKAGE_SIZE                )(r28)
-       sg      r4, (LINKAGE_SIZE +     GPR_BYTES)(r28)
-       sg      r5, (LINKAGE_SIZE + 2 * GPR_BYTES)(r28)
-       sg      r6, (LINKAGE_SIZE + 3 * GPR_BYTES)(r28)
-       nop
-       sg      r7, (LINKAGE_SIZE + 4 * GPR_BYTES)(r28)
-       sg      r8, (LINKAGE_SIZE + 5 * GPR_BYTES)(r28)
-       sg      r9, (LINKAGE_SIZE + 6 * GPR_BYTES)(r28)
-       sg      r10,(LINKAGE_SIZE + 7 * GPR_BYTES)(r28)
-       /* OK, so do the block move - we trust that memcpy will not trample
-          the fprs...  */
-       mr      r3,r30 ; dest
-       addi    r4,r28,LINKAGE_SIZE ; source
-       /* The size is a size_t, should be long.  */
-       lg      r5,0(r29)
-       /* Figure out small structs */
-       cmpi    0,r5,4
-       bgt     L3      ; 1, 2 and 4 bytes have special rules.
-       cmpi    0,r5,3
-       beq     L3      ; not 3
-       addi    r4,r4,8
-       subf    r4,r5,r4
-L3:
-       bl      _memcpy
-       
-       /* ... do we need the FP registers? - recover the flags.. */
-       mtcrf   0x03,r31 ; we need c6 & cr7 now.
-       bf      29,L(done_return_value) /* No floats in the struct.  */
-       stfd    f1, -SAVE_REGS_SIZE-(13*FPR_SIZE)(r28)
-       stfd    f2, -SAVE_REGS_SIZE-(12*FPR_SIZE)(r28)
-       stfd    f3, -SAVE_REGS_SIZE-(11*FPR_SIZE)(r28)
-       stfd    f4, -SAVE_REGS_SIZE-(10*FPR_SIZE)(r28)
-       nop
-       stfd    f5, -SAVE_REGS_SIZE-( 9*FPR_SIZE)(r28)
-       stfd    f6, -SAVE_REGS_SIZE-( 8*FPR_SIZE)(r28)
-       stfd    f7, -SAVE_REGS_SIZE-( 7*FPR_SIZE)(r28)
-       stfd    f8, -SAVE_REGS_SIZE-( 6*FPR_SIZE)(r28)
-       nop
-       stfd    f9, -SAVE_REGS_SIZE-( 5*FPR_SIZE)(r28)
-       stfd    f10,-SAVE_REGS_SIZE-( 4*FPR_SIZE)(r28)
-       stfd    f11,-SAVE_REGS_SIZE-( 3*FPR_SIZE)(r28)
-       stfd    f12,-SAVE_REGS_SIZE-( 2*FPR_SIZE)(r28)
-       nop
-       stfd    f13,-SAVE_REGS_SIZE-( 1*FPR_SIZE)(r28)
-
-       mr      r3,r29  ; ffi_type *
-       mr      r4,r30  ; dest
-       addi    r5,r28,-SAVE_REGS_SIZE-(13*FPR_SIZE) ; fprs
-       xor     r6,r6,r6
-       sg      r6,(LINKAGE_SIZE + 7 * GPR_BYTES)(r28)
-       addi    r6,r28,(LINKAGE_SIZE + 7 * GPR_BYTES) ; point to a zeroed counter.
-       bl      _darwin64_struct_floats_to_mem
-
-       b L(done_return_value)
-#else
-       stw     r3,0(r30) ; m32 the only struct return in reg is 4 bytes.
-#endif
-       b L(done_return_value)
-
-L(fp_return_value):
-       /* Do we have long double to store?  */
-       bf      31,L(fd_return_value) ; FLAG_RETURNS_128BITS
-       stfd    f1,0(r30)
-       stfd    f2,FPR_SIZE(r30)
-       b       L(done_return_value)
-
-L(fd_return_value):
-       /* Do we have double to store?  */
-       bf      28,L(float_return_value)
-       stfd    f1,0(r30)
-       b       L(done_return_value)
-
-L(float_return_value):
-       /* We only have a float to store.  */
-       stfs    f1,0(r30)
-       b       L(done_return_value)
-
-L(scalar_return_value):
-       bt      29,L(fp_return_value)   ; FLAG_RETURNS_FP
-       ; ffi_arg is defined as unsigned long. 
-       sg      r3,0(r30)               ; Save the reg.
-       bf      28,L(done_return_value) ; not FLAG_RETURNS_64BITS 
-
-#if defined(__ppc64__)
-L(maybe_return_128):
-       std     r3,0(r30)
-       bf      31,L(done_return_value) ; not FLAG_RETURNS_128BITS 
-       std     r4,8(r30)
-#else
-       stw     r4,4(r30)
-#endif
-
-       /* Fall through.  */
-       /* We want this at the end to simplify eh epilog computation.  */
-
-L(done_return_value):
-       /* Restore the registers we used and return.  */
-       lg      r29,SAVED_LR_OFFSET(r28)
-       ; epilog
-       lg      r31,-(1 * GPR_BYTES)(r28)
-       mtlr    r29
-       lg      r30,-(2 * GPR_BYTES)(r28)
-       lg      r29,-(3 * GPR_BYTES)(r28)
-       lg      r28,-(4 * GPR_BYTES)(r28)
-       lg      r1,0(r1)
-       blr
-LFE1:
-       .align  1
-/* END(_ffi_call_DARWIN)  */
-
-/* Provide a null definition of _ffi_call_AIX.  */
-       .text
-       .globl _ffi_call_AIX
-       .align 2
-_ffi_call_AIX:
-       blr
-/* END(_ffi_call_AIX)  */
-
-/* EH stuff.  */
-
-#define EH_DATA_ALIGN_FACT MODE_CHOICE(0x7c,0x78)
-
-       .static_data
-       .align LOG2_GPR_BYTES
-LLFB0$non_lazy_ptr:
-       .g_long Lstartcode
-
-       .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
-EH_frame1:
-       .set    L$set$0,LECIE1-LSCIE1
-       .long   L$set$0 ; Length of Common Information Entry
-LSCIE1:
-       .long   0x0     ; CIE Identifier Tag
-       .byte   0x1     ; CIE Version
-       .ascii  "zR\0"  ; CIE Augmentation
-       .byte   0x1     ; uleb128 0x1; CIE Code Alignment Factor
-       .byte   EH_DATA_ALIGN_FACT ; sleb128 -4; CIE Data Alignment Factor
-       .byte   0x41    ; CIE RA Column
-       .byte   0x1     ; uleb128 0x1; Augmentation size
-       .byte   0x90    ; FDE Encoding (indirect pcrel)
-       .byte   0xc     ; DW_CFA_def_cfa
-       .byte   0x1     ; uleb128 0x1
-       .byte   0x0     ; uleb128 0x0
-       .align  LOG2_GPR_BYTES
-LECIE1:
-
-       .globl _ffi_call_DARWIN.eh
-_ffi_call_DARWIN.eh:
-LSFDE1:
-       .set    L$set$1,LEFDE1-LASFDE1
-       .long   L$set$1 ; FDE Length
-LASFDE1:
-       .long   LASFDE1-EH_frame1 ; FDE CIE offset
-       .g_long LLFB0$non_lazy_ptr-.    ; FDE initial location
-       .set    L$set$3,LFE1-Lstartcode
-       .g_long L$set$3 ; FDE address range
-       .byte   0x0     ; uleb128 0x0; Augmentation size
-       .byte   0x4     ; DW_CFA_advance_loc4
-       .set    L$set$4,LCFI0-Lstartcode
-       .long   L$set$4
-       .byte   0xd     ; DW_CFA_def_cfa_register
-       .byte   0x08    ; uleb128 0x08
-       .byte   0x4     ; DW_CFA_advance_loc4
-       .set    L$set$5,LCFI1-LCFI0
-       .long   L$set$5
-       .byte   0x11    ; DW_CFA_offset_extended_sf
-       .byte   0x41    ; uleb128 0x41
-       .byte   0x7e    ; sleb128 -2
-       .byte   0x9f    ; DW_CFA_offset, column 0x1f
-       .byte   0x1     ; uleb128 0x1
-       .byte   0x9e    ; DW_CFA_offset, column 0x1e
-       .byte   0x2     ; uleb128 0x2
-       .byte   0x9d    ; DW_CFA_offset, column 0x1d
-       .byte   0x3     ; uleb128 0x3
-       .byte   0x9c    ; DW_CFA_offset, column 0x1c
-       .byte   0x4     ; uleb128 0x4
-       .byte   0x4     ; DW_CFA_advance_loc4
-       .set    L$set$6,LCFI2-LCFI1
-       .long   L$set$6
-       .byte   0xd     ; DW_CFA_def_cfa_register
-       .byte   0x1c    ; uleb128 0x1c
-       .align LOG2_GPR_BYTES
-LEFDE1:
-       .align 1
-
diff --git a/.pc/darwin-EH-fix/src/powerpc/darwin_closure.S b/.pc/darwin-EH-fix/src/powerpc/darwin_closure.S
deleted file mode 100644 (file)
index b43f965..0000000
+++ /dev/null
@@ -1,576 +0,0 @@
-/* -----------------------------------------------------------------------
-   darwin_closure.S - Copyright (c) 2002, 2003, 2004, 2010, 
-   Free Software Foundation, Inc. 
-   based on ppc_closure.S
-
-   PowerPC Assembly glue.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
-   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-   OTHER DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#define LIBFFI_ASM
-#define L(x) x
-
-#if defined(__ppc64__)
-#define MODE_CHOICE(x, y) y
-#else
-#define MODE_CHOICE(x, y) x
-#endif
-
-#define machine_choice MODE_CHOICE(ppc7400,ppc64)
-
-; Define some pseudo-opcodes for size-independent load & store of GPRs ...
-#define lgu            MODE_CHOICE(lwzu, ldu)
-#define lg             MODE_CHOICE(lwz,ld)
-#define sg             MODE_CHOICE(stw,std)
-#define sgu            MODE_CHOICE(stwu,stdu)
-
-; ... and the size of GPRs and their storage indicator.
-#define GPR_BYTES      MODE_CHOICE(4,8)
-#define LOG2_GPR_BYTES MODE_CHOICE(2,3)        /* log2(GPR_BYTES) */
-#define g_long         MODE_CHOICE(long, quad) /* usage is ".g_long" */
-
-; From the ABI doc: "Mac OS X ABI Function Call Guide" Version 2009-02-04.
-#define LINKAGE_SIZE   MODE_CHOICE(24,48)
-#define PARAM_AREA     MODE_CHOICE(32,64)
-
-#define SAVED_CR_OFFSET        MODE_CHOICE(4,8)        /* save position for CR */
-#define SAVED_LR_OFFSET        MODE_CHOICE(8,16)       /* save position for lr */
-
-/* WARNING: if ffi_type is changed... here be monsters.  
-   Offsets of items within the result type.  */
-#define FFI_TYPE_TYPE  MODE_CHOICE(6,10)
-#define FFI_TYPE_ELEM  MODE_CHOICE(8,16)
-
-#define SAVED_FPR_COUNT 13
-#define FPR_SIZE       8
-/* biggest m64 struct ret is 8GPRS + 13FPRS = 168 bytes - rounded to 16bytes = 176. */
-#define RESULT_BYTES   MODE_CHOICE(16,176)
-
-; The whole stack frame **MUST** be 16byte-aligned.
-#define SAVE_SIZE (((LINKAGE_SIZE+PARAM_AREA+SAVED_FPR_COUNT*FPR_SIZE+RESULT_BYTES)+15) & -16LL)
-#define PAD_SIZE (SAVE_SIZE-(LINKAGE_SIZE+PARAM_AREA+SAVED_FPR_COUNT*FPR_SIZE+RESULT_BYTES))
-
-#define PARENT_PARM_BASE (SAVE_SIZE+LINKAGE_SIZE)
-#define FP_SAVE_BASE (LINKAGE_SIZE+PARAM_AREA)
-
-#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050
-; We no longer need the pic symbol stub for Darwin >= 9.
-#define BLCLS_HELP _ffi_closure_helper_DARWIN
-#define STRUCT_RETVALUE_P _darwin64_struct_ret_by_value_p
-#define PASS_STR_FLOATS _darwin64_pass_struct_floats
-#undef WANT_STUB
-#else
-#define BLCLS_HELP L_ffi_closure_helper_DARWIN$stub
-#define STRUCT_RETVALUE_P L_darwin64_struct_ret_by_value_p$stub
-#define PASS_STR_FLOATS L_darwin64_pass_struct_floats$stub
-#define WANT_STUB
-#endif
-
-/* m32/m64
-
-   The stack layout looks like this:
-
-   |   Additional params...                    | |     Higher address
-   ~                                           ~ ~
-   |   Parameters      (at least 8*4/8=32/64)  | | NUM_GPR_ARG_REGISTERS
-   |--------------------------------------------| |
-   |   TOC=R2 (AIX) Reserved (Darwin)   4/8    | |
-   |--------------------------------------------| |
-   |   Reserved                       2*4/8    | |
-   |--------------------------------------------| |
-   |   Space for callee`s LR           4/8     | |
-   |--------------------------------------------| |
-   |   Saved CR [low word for m64]      4/8    | |
-   |--------------------------------------------| |
-   |   Current backchain pointer       4/8     |-/ Parent`s frame.
-   |--------------------------------------------| <+ <<< on entry to
-   |   Result Bytes                   16/176   | |
-   |--------------------------------------------| |
-   ~   padding to 16-byte alignment            ~ ~
-   |--------------------------------------------| |
-   |   NUM_FPR_ARG_REGISTERS slots             | |
-   |   here fp13 .. fp1                       13*8     | |
-   |--------------------------------------------| |
-   |   R3..R10                   8*4/8=32/64   | | NUM_GPR_ARG_REGISTERS
-   |--------------------------------------------| |
-   |   TOC=R2 (AIX) Reserved (Darwin)   4/8    | |
-   |--------------------------------------------| |    stack   |
-   |   Reserved [compiler,binder]     2*4/8    | |     grows   |
-   |--------------------------------------------| |    down    V
-   |   Space for callees LR            4/8     | |
-   |--------------------------------------------| |    lower addresses
-   |   Saved CR [low word for m64]      4/8    | |
-   |--------------------------------------------| |     stack pointer here
-   |   Current backchain pointer       4/8     |-/     during
-   |--------------------------------------------|   <<<        call.
-
-*/
-
-       .file   "darwin_closure.S"
-
-       .machine machine_choice
-
-       .text
-       .globl _ffi_closure_ASM
-       .align LOG2_GPR_BYTES
-_ffi_closure_ASM:
-LFB1:
-Lstartcode:
-       mflr    r0                      /* extract return address  */
-       sg      r0,SAVED_LR_OFFSET(r1)  /* save the return address  */
-LCFI0:
-       sgu     r1,-SAVE_SIZE(r1)       /* skip over caller save area
-                                       keep stack aligned to 16.  */
-LCFI1:
-       /* We want to build up an area for the parameters passed
-          in registers. (both floating point and integer)  */
-
-       /* Put gpr 3 to gpr 10 in the parents outgoing area...
-          ... the remainder of any params that overflowed the regs will
-          follow here.  */
-       sg      r3, (PARENT_PARM_BASE                )(r1)
-       sg      r4, (PARENT_PARM_BASE + GPR_BYTES    )(r1)
-       sg      r5, (PARENT_PARM_BASE + GPR_BYTES * 2)(r1)
-       sg      r6, (PARENT_PARM_BASE + GPR_BYTES * 3)(r1)
-       sg      r7, (PARENT_PARM_BASE + GPR_BYTES * 4)(r1)
-       sg      r8, (PARENT_PARM_BASE + GPR_BYTES * 5)(r1)
-       sg      r9, (PARENT_PARM_BASE + GPR_BYTES * 6)(r1)
-       sg      r10,(PARENT_PARM_BASE + GPR_BYTES * 7)(r1)
-
-       /* We save fpr 1 to fpr 14 in our own save frame.  */
-       stfd    f1, (FP_SAVE_BASE                 )(r1)
-       stfd    f2, (FP_SAVE_BASE +  FPR_SIZE     )(r1)
-       stfd    f3, (FP_SAVE_BASE +  FPR_SIZE * 2 )(r1)
-       stfd    f4, (FP_SAVE_BASE +  FPR_SIZE * 3 )(r1)
-       stfd    f5, (FP_SAVE_BASE +  FPR_SIZE * 4 )(r1)
-       stfd    f6, (FP_SAVE_BASE +  FPR_SIZE * 5 )(r1)
-       stfd    f7, (FP_SAVE_BASE +  FPR_SIZE * 6 )(r1)
-       stfd    f8, (FP_SAVE_BASE +  FPR_SIZE * 7 )(r1)
-       stfd    f9, (FP_SAVE_BASE +  FPR_SIZE * 8 )(r1)
-       stfd    f10,(FP_SAVE_BASE +  FPR_SIZE * 9 )(r1)
-       stfd    f11,(FP_SAVE_BASE +  FPR_SIZE * 10)(r1)
-       stfd    f12,(FP_SAVE_BASE +  FPR_SIZE * 11)(r1)
-       stfd    f13,(FP_SAVE_BASE +  FPR_SIZE * 12)(r1)
-
-       /* Set up registers for the routine that actually does the work
-          get the context pointer from the trampoline.  */
-       mr      r3,r11
-
-       /* Now load up the pointer to the result storage.  */
-       addi    r4,r1,(SAVE_SIZE-RESULT_BYTES)
-
-       /* Now load up the pointer to the saved gpr registers.  */
-       addi    r5,r1,PARENT_PARM_BASE
-
-       /* Now load up the pointer to the saved fpr registers.  */
-       addi    r6,r1,FP_SAVE_BASE
-
-       /* Make the call.  */
-       bl      BLCLS_HELP
-
-       /* r3 contains the rtype pointer... save it since we will need
-          it later.  */
-       sg      r3,LINKAGE_SIZE(r1)     ; ffi_type * result_type
-       lg      r0,0(r3)                ; size => r0
-       lhz     r3,FFI_TYPE_TYPE(r3)    ; type => r3
-
-       /* The helper will have intercepted struture returns and inserted
-          the caller`s destination address for structs returned by ref.  */
-
-       /* r3 contains the return type  so use it to look up in a table
-          so we know how to deal with each type.  */
-
-       addi    r5,r1,(SAVE_SIZE-RESULT_BYTES) /* Otherwise, our return is here.  */
-       bl      Lget_ret_type0_addr     /* Get pointer to Lret_type0 into LR.  */
-       mflr    r4                      /* Move to r4.  */
-       slwi    r3,r3,4                 /* Now multiply return type by 16.  */
-       add     r3,r3,r4                /* Add contents of table to table address.  */
-       mtctr   r3
-       bctr                             /* Jump to it.  */
-LFE1:
-/* Each of the ret_typeX code fragments has to be exactly 16 bytes long
-   (4 instructions). For cache effectiveness we align to a 16 byte boundary
-   first.  */
-
-       .align 4
-
-       nop
-       nop
-       nop
-Lget_ret_type0_addr:
-       blrl
-
-/* case FFI_TYPE_VOID  */
-Lret_type0:
-       b       Lfinish
-       nop
-       nop
-       nop
-
-/* case FFI_TYPE_INT  */
-Lret_type1:
-       lg      r3,0(r5)
-       b       Lfinish
-       nop
-       nop
-
-/* case FFI_TYPE_FLOAT  */
-Lret_type2:
-       lfs     f1,0(r5)
-       b       Lfinish
-       nop
-       nop
-
-/* case FFI_TYPE_DOUBLE  */
-Lret_type3:
-       lfd     f1,0(r5)
-       b       Lfinish
-       nop
-       nop
-
-/* case FFI_TYPE_LONGDOUBLE  */
-Lret_type4:
-       lfd     f1,0(r5)
-       lfd     f2,8(r5)
-       b       Lfinish
-       nop
-
-/* case FFI_TYPE_UINT8  */
-Lret_type5:
-#if defined(__ppc64__)
-       lbz     r3,7(r5)
-#else
-       lbz     r3,3(r5)
-#endif
-       b       Lfinish
-       nop
-       nop
-
-/* case FFI_TYPE_SINT8  */
-Lret_type6:
-#if defined(__ppc64__)
-       lbz     r3,7(r5)
-#else
-       lbz     r3,3(r5)
-#endif
-       extsb   r3,r3
-       b       Lfinish
-       nop
-
-/* case FFI_TYPE_UINT16  */
-Lret_type7:
-#if defined(__ppc64__)
-       lhz     r3,6(r5)
-#else
-       lhz     r3,2(r5)
-#endif
-       b       Lfinish
-       nop
-       nop
-
-/* case FFI_TYPE_SINT16  */
-Lret_type8:
-#if defined(__ppc64__)
-       lha     r3,6(r5)
-#else
-       lha     r3,2(r5)
-#endif
-       b       Lfinish
-       nop
-       nop
-
-/* case FFI_TYPE_UINT32  */
-Lret_type9:
-#if defined(__ppc64__)
-       lwz     r3,4(r5)
-#else
-       lwz     r3,0(r5)
-#endif
-       b       Lfinish
-       nop
-       nop
-
-/* case FFI_TYPE_SINT32  */
-Lret_type10:
-#if defined(__ppc64__)
-       lwz     r3,4(r5)
-#else
-       lwz     r3,0(r5)
-#endif
-       b       Lfinish
-       nop
-       nop
-
-/* case FFI_TYPE_UINT64  */
-Lret_type11:
-#if defined(__ppc64__)
-       lg      r3,0(r5)
-       b       Lfinish
-       nop
-#else
-       lwz     r3,0(r5)
-       lwz     r4,4(r5)
-       b       Lfinish
-#endif
-       nop
-
-/* case FFI_TYPE_SINT64  */
-Lret_type12:
-#if defined(__ppc64__)
-       lg      r3,0(r5)
-       b       Lfinish
-       nop
-#else
-       lwz     r3,0(r5)
-       lwz     r4,4(r5)
-       b       Lfinish
-#endif
-       nop
-
-/* case FFI_TYPE_STRUCT  */
-Lret_type13:
-#if defined(__ppc64__)
-       lg      r3,0(r5)                ; we need at least this...
-       cmpi    0,r0,4
-       bgt     Lstructend              ; not a special small case
-       b       Lsmallstruct            ; see if we need more.
-#else
-       cmpi    0,r0,4
-       bgt     Lfinish         ; not by value
-       lg      r3,0(r5)
-       b       Lfinish
-#endif
-/* case FFI_TYPE_POINTER  */
-Lret_type14:
-       lg      r3,0(r5)
-       b       Lfinish
-       nop
-       nop
-
-#if defined(__ppc64__)
-Lsmallstruct:
-       beq     Lfour                   ; continuation of Lret13.
-       cmpi    0,r0,3
-       beq     Lfinish                 ; don`t adjust this - can`t be any floats here...
-       srdi    r3,r3,48
-       cmpi    0,r0,2
-       beq     Lfinish                 ; .. or here ..
-       srdi    r3,r3,8
-       b       Lfinish                 ; .. or here.
-
-Lfour:
-       lg      r6,LINKAGE_SIZE(r1)     ; get the result type
-       lg      r6,FFI_TYPE_ELEM(r6)    ; elements array pointer
-       lg      r6,0(r6)                ; first element
-       lhz     r0,FFI_TYPE_TYPE(r6)    ; OK go the type
-       cmpi    0,r0,2                  ; FFI_TYPE_FLOAT
-       bne     Lfourint
-       lfs     f1,0(r5)                ; just one float in the struct.
-       b       Lfinish
-
-Lfourint:
-       srdi    r3,r3,32                ; four bytes.
-       b       Lfinish
-
-Lstructend:
-       lg      r3,LINKAGE_SIZE(r1)     ; get the result type
-       bl      STRUCT_RETVALUE_P
-       cmpi    0,r3,0
-       beq     Lfinish                 ; nope.
-       /* Recover a pointer to the results.  */
-       addi    r11,r1,(SAVE_SIZE-RESULT_BYTES)
-       lg      r3,0(r11)               ; we need at least this...
-       lg      r4,8(r11)
-       cmpi    0,r0,16
-       beq     Lfinish         ; special case 16 bytes we don't consider floats.
-
-       /* OK, frustratingly, the process of saving the struct to mem might have
-          messed with the FPRs, so we have to re-load them :(.
-          We`ll use our FPRs space again - calling: 
-          void darwin64_pass_struct_floats (ffi_type *s, char *src, 
-                                            unsigned *nfpr, double **fprs) 
-          We`ll temporarily pinch the first two slots of the param area for local
-          vars used by the routine.  */
-       xor     r6,r6,r6
-       addi    r5,r1,PARENT_PARM_BASE          ; some space
-       sg      r6,0(r5)                        ; *nfpr zeroed.
-       addi    r6,r5,8                         ; **fprs
-       addi    r3,r1,FP_SAVE_BASE              ; pointer to FPRs space
-       sg      r3,0(r6)
-       mr      r4,r11                          ; the struct is here...
-       lg      r3,LINKAGE_SIZE(r1)             ; ffi_type * result_type.
-       bl      PASS_STR_FLOATS                 ; get struct floats into FPR save space.
-       /* See if we used any floats  */
-       lwz     r0,(SAVE_SIZE-RESULT_BYTES)(r1) 
-       cmpi    0,r0,0
-       beq     Lstructints                     ; nope.
-       /* OK load `em up... */
-       lfd     f1, (FP_SAVE_BASE                 )(r1)
-       lfd     f2, (FP_SAVE_BASE +  FPR_SIZE     )(r1)
-       lfd     f3, (FP_SAVE_BASE +  FPR_SIZE * 2 )(r1)
-       lfd     f4, (FP_SAVE_BASE +  FPR_SIZE * 3 )(r1)
-       lfd     f5, (FP_SAVE_BASE +  FPR_SIZE * 4 )(r1)
-       lfd     f6, (FP_SAVE_BASE +  FPR_SIZE * 5 )(r1)
-       lfd     f7, (FP_SAVE_BASE +  FPR_SIZE * 6 )(r1)
-       lfd     f8, (FP_SAVE_BASE +  FPR_SIZE * 7 )(r1)
-       lfd     f9, (FP_SAVE_BASE +  FPR_SIZE * 8 )(r1)
-       lfd     f10,(FP_SAVE_BASE +  FPR_SIZE * 9 )(r1)
-       lfd     f11,(FP_SAVE_BASE +  FPR_SIZE * 10)(r1)
-       lfd     f12,(FP_SAVE_BASE +  FPR_SIZE * 11)(r1)
-       lfd     f13,(FP_SAVE_BASE +  FPR_SIZE * 12)(r1)
-
-       /* point back at our saved struct.  */
-Lstructints:
-       addi    r11,r1,(SAVE_SIZE-RESULT_BYTES)
-       lg      r3,0(r11)                       ; we end up picking the
-       lg      r4,8(r11)                       ; first two again.
-       lg      r5,16(r11)
-       lg      r6,24(r11)
-       lg      r7,32(r11)
-       lg      r8,40(r11)
-       lg      r9,48(r11)
-       lg      r10,56(r11)
-#endif
-
-/* case done  */
-Lfinish:
-       addi    r1,r1,SAVE_SIZE         /* Restore stack pointer.  */
-       lg      r0,SAVED_LR_OFFSET(r1)  /* Get return address.  */
-       mtlr    r0                      /* Reset link register.  */
-       blr
-Lendcode:
-       .align 1
-       
-/* END(ffi_closure_ASM)  */
-
-/* EH frame stuff.  */
-#define EH_DATA_ALIGN_FACT MODE_CHOICE(0x7c,0x78)
-/* 176, 400 */
-#define EH_FRAME_OFFSETA MODE_CHOICE(176,0x90)
-#define EH_FRAME_OFFSETB MODE_CHOICE(1,3)
-
-       .static_data
-       .align LOG2_GPR_BYTES
-LLFB1$non_lazy_ptr:
-       .g_long Lstartcode
-
-       .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
-EH_frame1:
-       .set    L$set$0,LECIE1-LSCIE1
-       .long   L$set$0 ; Length of Common Information Entry
-LSCIE1:
-       .long   0x0     ; CIE Identifier Tag
-       .byte   0x1     ; CIE Version
-       .ascii  "zR\0"  ; CIE Augmentation
-       .byte   0x1     ; uleb128 0x1; CIE Code Alignment Factor
-       .byte   EH_DATA_ALIGN_FACT ; sleb128 -4; CIE Data Alignment Factor
-       .byte   0x41    ; CIE RA Column
-       .byte   0x1     ; uleb128 0x1; Augmentation size
-       .byte   0x90    ; FDE Encoding (indirect pcrel)
-       .byte   0xc     ; DW_CFA_def_cfa
-       .byte   0x1     ; uleb128 0x1
-       .byte   0x0     ; uleb128 0x0
-       .align  LOG2_GPR_BYTES
-LECIE1:
-       .globl _ffi_closure_ASM.eh
-_ffi_closure_ASM.eh:
-LSFDE1:
-       .set    L$set$1,LEFDE1-LASFDE1
-       .long   L$set$1 ; FDE Length
-
-LASFDE1:
-       .long   LASFDE1-EH_frame1       ; FDE CIE offset
-       .g_long LLFB1$non_lazy_ptr-.    ; FDE initial location
-       .set    L$set$3,LFE1-Lstartcode
-       .g_long L$set$3 ; FDE address range
-       .byte   0x0     ; uleb128 0x0; Augmentation size
-       .byte   0x4     ; DW_CFA_advance_loc4
-       .set    L$set$3,LCFI1-LCFI0
-       .long   L$set$3
-       .byte   0xe     ; DW_CFA_def_cfa_offset
-       .byte   EH_FRAME_OFFSETA,EH_FRAME_OFFSETB       ; uleb128 176,1/190,3
-       .byte   0x4     ; DW_CFA_advance_loc4
-       .set    L$set$4,LCFI0-Lstartcode
-       .long   L$set$4
-       .byte   0x11    ; DW_CFA_offset_extended_sf
-       .byte   0x41    ; uleb128 0x41
-       .byte   0x7e    ; sleb128 -2
-       .align  LOG2_GPR_BYTES
-LEFDE1:
-       .align  1
-
-#ifdef WANT_STUB
-       .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
-       .align 5
-L_ffi_closure_helper_DARWIN$stub:
-       .indirect_symbol _ffi_closure_helper_DARWIN
-       mflr r0
-       bcl 20,31,"L00000000001$spb"
-"L00000000001$spb":
-       mflr r11
-       addis r11,r11,ha16(L_ffi_closure_helper_DARWIN$lazy_ptr-"L00000000001$spb")
-       mtlr r0
-       lwzu r12,lo16(L_ffi_closure_helper_DARWIN$lazy_ptr-"L00000000001$spb")(r11)
-       mtctr r12
-       bctr
-       .lazy_symbol_pointer
-L_ffi_closure_helper_DARWIN$lazy_ptr:
-       .indirect_symbol _ffi_closure_helper_DARWIN
-       .g_long dyld_stub_binding_helper
-
-#if defined(__ppc64__)
-       .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
-       .align 5
-L_darwin64_struct_ret_by_value_p$stub:
-       .indirect_symbol _darwin64_struct_ret_by_value_p
-       mflr r0
-       bcl 20,31,"L00000000002$spb"
-"L00000000002$spb":
-       mflr r11
-       addis r11,r11,ha16(L_darwin64_struct_ret_by_value_p$lazy_ptr-"L00000000002$spb")
-       mtlr r0
-       lwzu r12,lo16(L_darwin64_struct_ret_by_value_p$lazy_ptr-"L00000000002$spb")(r11)
-       mtctr r12
-       bctr
-       .lazy_symbol_pointer
-L_darwin64_struct_ret_by_value_p$lazy_ptr:
-       .indirect_symbol _darwin64_struct_ret_by_value_p
-       .g_long dyld_stub_binding_helper
-
-       .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
-       .align 5
-L_darwin64_pass_struct_floats$stub:
-       .indirect_symbol _darwin64_pass_struct_floats
-       mflr r0
-       bcl 20,31,"L00000000003$spb"
-"L00000000003$spb":
-       mflr r11
-       addis r11,r11,ha16(L_darwin64_pass_struct_floats$lazy_ptr-"L00000000003$spb")
-       mtlr r0
-       lwzu r12,lo16(L_darwin64_pass_struct_floats$lazy_ptr-"L00000000003$spb")(r11)
-       mtctr r12
-       bctr
-       .lazy_symbol_pointer
-L_darwin64_pass_struct_floats$lazy_ptr:
-       .indirect_symbol _darwin64_pass_struct_floats
-       .g_long dyld_stub_binding_helper
-#  endif
-#endif
diff --git a/.pc/darwin11/.timestamp b/.pc/darwin11/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/darwin11/ChangeLog b/.pc/darwin11/ChangeLog
deleted file mode 100644 (file)
index c4bb4c3..0000000
+++ /dev/null
@@ -1,4678 +0,0 @@
-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  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-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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * 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.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/darwin11/configure b/.pc/darwin11/configure
deleted file mode 100755 (executable)
index 13d1d94..0000000
+++ /dev/null
@@ -1,16030 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/libffi]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer
-  --enable-debug          debugging mode
-  --disable-structs       omit code for struct support
-  --disable-raw-api       make the raw api unavailable
-  --enable-purify-safety  purify-safe mode
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CCAS        assembler compiler command (defaults to CC)
-  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if test "$cross_compiling" = yes; then
-    # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid; break
-else
-  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
-                       if test $ac_lo -le $ac_mid; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=$ac_mid; break
-else
-  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid
-else
-  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (($2) < 0)
-    {
-      long int i = longval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
-  ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
-  fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CCAS_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CCAS_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
-  am__fastdepCCAS_TRUE=
-  am__fastdepCCAS_FALSE='#'
-else
-  am__fastdepCCAS_TRUE='#'
-  am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
-   if test "$GCC" = yes; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
-           ;;
-         ppc64-*linux*|powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         ppc*-*linux*|powerpc*-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
-        enable_dlopen=no
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl='-Wl,-Wl,,'
-       lt_prog_compiler_pic='-PIC'
-       lt_prog_compiler_static='-Bstatic'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ F* | *Sun*Fortran*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec=
-         hardcode_libdir_flag_spec_ld='-rpath $libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       always_export_symbols=yes
-       file_list_spec='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-       enable_shared_with_static_runtimes=yes
-       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds='chmod 644 $oldlib'
-       postlink_cmds='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_flag_spec_ld='+b $libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-       fi
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec="$LIB"
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
-else
-  libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
-else
-  ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
-       ac_cv_func_mmap_anon=no ;;
-     *)
-       ac_cv_func_mmap_anon=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
-   fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
-  TESTSUBDIR_TRUE=
-  TESTSUBDIR_FALSE='#'
-else
-  TESTSUBDIR_TRUE='#'
-  TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[0-9]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin* | powerpc64-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
-  powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[34]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
-  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
-  MIPS_TRUE=
-  MIPS_FALSE='#'
-else
-  MIPS_TRUE='#'
-  MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
-  SPARC_TRUE=
-  SPARC_FALSE='#'
-else
-  SPARC_TRUE='#'
-  SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
-  X86_TRUE=
-  X86_FALSE='#'
-else
-  X86_TRUE='#'
-  X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
-  X86_FREEBSD_TRUE=
-  X86_FREEBSD_FALSE='#'
-else
-  X86_FREEBSD_TRUE='#'
-  X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
-  X86_WIN32_TRUE=
-  X86_WIN32_FALSE='#'
-else
-  X86_WIN32_TRUE='#'
-  X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
-  X86_WIN64_TRUE=
-  X86_WIN64_FALSE='#'
-else
-  X86_WIN64_TRUE='#'
-  X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
-  X86_DARWIN_TRUE=
-  X86_DARWIN_FALSE='#'
-else
-  X86_DARWIN_TRUE='#'
-  X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
-  ALPHA_TRUE=
-  ALPHA_FALSE='#'
-else
-  ALPHA_TRUE='#'
-  ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
-  IA64_TRUE=
-  IA64_FALSE='#'
-else
-  IA64_TRUE='#'
-  IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
-  M32R_TRUE=
-  M32R_FALSE='#'
-else
-  M32R_TRUE='#'
-  M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
-  M68K_TRUE=
-  M68K_FALSE='#'
-else
-  M68K_TRUE='#'
-  M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
-  MOXIE_TRUE=
-  MOXIE_FALSE='#'
-else
-  MOXIE_TRUE='#'
-  MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
-  POWERPC_TRUE=
-  POWERPC_FALSE='#'
-else
-  POWERPC_TRUE='#'
-  POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
-  POWERPC_AIX_TRUE=
-  POWERPC_AIX_FALSE='#'
-else
-  POWERPC_AIX_TRUE='#'
-  POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
-  POWERPC_DARWIN_TRUE=
-  POWERPC_DARWIN_FALSE='#'
-else
-  POWERPC_DARWIN_TRUE='#'
-  POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
-  POWERPC_FREEBSD_TRUE=
-  POWERPC_FREEBSD_FALSE='#'
-else
-  POWERPC_FREEBSD_TRUE='#'
-  POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
-  ARM_TRUE=
-  ARM_FALSE='#'
-else
-  ARM_TRUE='#'
-  ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
-  AVR32_TRUE=
-  AVR32_FALSE='#'
-else
-  AVR32_TRUE='#'
-  AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
-  LIBFFI_CRIS_TRUE=
-  LIBFFI_CRIS_FALSE='#'
-else
-  LIBFFI_CRIS_TRUE='#'
-  LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
-  FRV_TRUE=
-  FRV_FALSE='#'
-else
-  FRV_TRUE='#'
-  FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
-  S390_TRUE=
-  S390_FALSE='#'
-else
-  S390_TRUE='#'
-  S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
-  X86_64_TRUE=
-  X86_64_FALSE='#'
-else
-  X86_64_TRUE='#'
-  X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
-  SH_TRUE=
-  SH_FALSE='#'
-else
-  SH_TRUE='#'
-  SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
-  SH64_TRUE=
-  SH64_FALSE='#'
-else
-  SH64_TRUE='#'
-  SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
-  PA_LINUX_TRUE=
-  PA_LINUX_FALSE='#'
-else
-  PA_LINUX_TRUE='#'
-  PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
-  PA_HPUX_TRUE=
-  PA_HPUX_FALSE='#'
-else
-  PA_HPUX_TRUE='#'
-  PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
-  PA64_HPUX_TRUE=
-  PA64_HPUX_FALSE='#'
-else
-  PA64_HPUX_TRUE='#'
-  PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
-  ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
-                                   if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
-    break
-fi
-
-  done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_long_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
-    fi
-  fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    gcc_cv_as_cfi_pseudo_op=unknown
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gcc_cv_as_cfi_pseudo_op=yes
-else
-  gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  libffi_cv_as_sparc_ua_pcrel=yes
-else
-  libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_register_pseudo_op=yes
-else
-  libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_ascii_pseudo_op=yes
-else
-  libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_string_pseudo_op=yes
-else
-  libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sys_symbol_underscore=no
-  cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    ac_nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$ac_nlist"; then
-      # See whether the symbols have a leading underscore.
-      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
-        lt_cv_sys_symbol_underscore=yes
-      else
-        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
-         :
-        else
-         echo "configure: cannot find nm_test_func in $ac_nlist" >&5
-        fi
-      fi
-    else
-      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "configure: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
-  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
-    if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
-    fi
-fi
-
-case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
-     ;;
-esac
-
-if test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-  else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-  fi
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
-  enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
-  fi
-fi
-
- if test "$enable_debug" = "yes"; then
-  FFI_DEBUG_TRUE=
-  FFI_DEBUG_FALSE='#'
-else
-  FFI_DEBUG_TRUE='#'
-  FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
-  enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
-  enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
-  enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
-  fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
-  as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
-  as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
-  as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
-  as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
-  as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
-  as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
-  as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
-  as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
-  as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
-  as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
-  as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
-  as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
-  as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
-  as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
-  as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
-  as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
-  as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
-    "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
-    "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
-    "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
-    "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
-    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
-    "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS  :L $CONFIG_LINKS  :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-  :L)
-  #
-  # CONFIG_LINK
-  #
-
-  if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
-    :
-  else
-    # Prefer the file from the source tree if names are identical.
-    if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
-      ac_source=$srcdir/$ac_source
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
-    if test ! -r "$ac_source"; then
-      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
-    fi
-    rm -f "$ac_file"
-
-    # Try a relative symlink, then a hard link, then a copy.
-    case $ac_source in
-    [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
-       *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
-    esac
-    ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
-      ln "$ac_source" "$ac_file" 2>/dev/null ||
-      cp -p "$ac_source" "$ac_file" ||
-      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
-  fi
- ;;
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-    "include":C) test -d include || mkdir include ;;
-    "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/darwin11/configure.ac b/.pc/darwin11/configure.ac
deleted file mode 100644 (file)
index 815efc7..0000000
+++ /dev/null
@@ -1,499 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux* | mips*-*-openbsd*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin* | powerpc64-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd* | powerpc-*-openbsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
-  powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    LT_SYS_SYMBOL_USCORE
-    if test "x$sys_symbol_underscore" = xyes; then
-        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-    fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
-     *arm*-apple-darwin*)
-       FFI_EXEC_TRAMPOLINE_TABLE=1
-       AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
-                 [Cannot use PROT_EXEC on this target, so, we revert to
-                   alternative means])
-     ;;
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-      libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-      AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-      AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  else
-      AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  fi
-
-  AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-      libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-      AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-  fi
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/debug-build/.timestamp b/.pc/debug-build/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/debug-build/ChangeLog b/.pc/debug-build/ChangeLog
deleted file mode 100644 (file)
index f98f1c4..0000000
+++ /dev/null
@@ -1,4537 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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-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-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-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/debug-build/Makefile.am b/.pc/debug-build/Makefile.am
deleted file mode 100644 (file)
index ff3891c..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-## Process this with automake to create Makefile.in
-
-AUTOMAKE_OPTIONS = foreign subdir-objects
-
-SUBDIRS = include testsuite man
-
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
-       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
-       src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
-       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
-       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
-       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
-       src/ia64/unix.S \
-       src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
-       src/mips/ffitarget.h \
-       src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
-       src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
-       src/powerpc/ffi.c src/powerpc/sysv.S \
-       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
-       src/powerpc/ppc_closure.S src/powerpc/asm.h \
-       src/powerpc/aix.S src/powerpc/darwin.S \
-       src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
-       src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
-       src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
-       src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
-       src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
-       src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
-       src/sparc/ffi.c src/x86/darwin64.S \
-       src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
-       src/x86/win64.S src/x86/freebsd.S \
-       src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
-       src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
-       src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h \
-       src/dlmalloc.c \
-       src/moxie/ffi.c src/moxie/eabi.S \
-       libtool-version ChangeLog.libffi m4/libtool.m4 \
-       m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
-
-info_TEXINFOS = doc/libffi.texi
-
-## ################################################################
-
-##
-## This section is for make and multilib madness.
-##
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
-       "AR_FLAGS=$(AR_FLAGS)" \
-       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
-       "CFLAGS=$(CFLAGS)" \
-       "CXXFLAGS=$(CXXFLAGS)" \
-       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
-       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
-       "INSTALL=$(INSTALL)" \
-       "INSTALL_DATA=$(INSTALL_DATA)" \
-       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
-       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
-       "JC1FLAGS=$(JC1FLAGS)" \
-       "LDFLAGS=$(LDFLAGS)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
-       "MAKE=$(MAKE)" \
-       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
-       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-       "SHELL=$(SHELL)" \
-       "exec_prefix=$(exec_prefix)" \
-       "infodir=$(infodir)" \
-       "libdir=$(libdir)" \
-       "mandir=$(mandir)" \
-       "prefix=$(prefix)" \
-       "AR=$(AR)" \
-       "AS=$(AS)" \
-       "CC=$(CC)" \
-       "CXX=$(CXX)" \
-       "LD=$(LD)" \
-       "NM=$(NM)" \
-       "RANLIB=$(RANLIB)" \
-       "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES=
-
-ACLOCAL_AMFLAGS=$(ACLOCAL_AMFLAGS) -I m4
-
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
-               src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-
-nodist_libffi_la_SOURCES =
-
-if MIPS
-nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-endif
-if X86
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S
-endif
-if X86_FREEBSD
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/freebsd.S
-endif
-if X86_WIN32
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win32.S
-endif
-if X86_WIN64
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win64.S
-endif
-if X86_DARWIN
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-endif
-if SPARC
-nodist_libffi_la_SOURCES += src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-endif
-if ALPHA
-nodist_libffi_la_SOURCES += src/alpha/ffi.c src/alpha/osf.S
-endif
-if IA64
-nodist_libffi_la_SOURCES += src/ia64/ffi.c src/ia64/unix.S
-endif
-if M32R
-nodist_libffi_la_SOURCES += src/m32r/sysv.S src/m32r/ffi.c
-endif
-if M68K
-nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
-endif
-if POWERPC
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-endif
-if POWERPC_AIX
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-endif
-if POWERPC_DARWIN
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-endif
-if POWERPC_FREEBSD
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-endif
-if ARM
-nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
-endif
-if AVR32
-nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
-endif
-if LIBFFI_CRIS
-nodist_libffi_la_SOURCES += src/cris/sysv.S src/cris/ffi.c
-endif
-if FRV
-nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
-endif
-if MOXIE
-nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
-endif
-if S390
-nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
-endif
-if X86_64
-nodist_libffi_la_SOURCES += src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-endif
-if SH
-nodist_libffi_la_SOURCES += src/sh/sysv.S src/sh/ffi.c
-endif
-if SH64
-nodist_libffi_la_SOURCES += src/sh64/sysv.S src/sh64/ffi.c
-endif
-if PA_LINUX
-nodist_libffi_la_SOURCES += src/pa/linux.S src/pa/ffi.c
-endif
-if PA_HPUX
-nodist_libffi_la_SOURCES += src/pa/hpux32.S src/pa/ffi.c
-endif
-
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-
-AM_CFLAGS = -Wall -g -fexceptions
-
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
diff --git a/.pc/debug-build/configure b/.pc/debug-build/configure
deleted file mode 100755 (executable)
index 7f88c51..0000000
+++ /dev/null
@@ -1,15954 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-TARGETDIR
-TARGET
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/libffi]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer
-  --enable-debug          debugging mode
-  --disable-structs       omit code for struct support
-  --disable-raw-api       make the raw api unavailable
-  --enable-purify-safety  purify-safe mode
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CCAS        assembler compiler command (defaults to CC)
-  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if test "$cross_compiling" = yes; then
-    # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid; break
-else
-  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
-                       if test $ac_lo -le $ac_mid; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=$ac_mid; break
-else
-  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid
-else
-  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (($2) < 0)
-    {
-      long int i = longval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
-  ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
-  fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CCAS_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CCAS_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
-  am__fastdepCCAS_TRUE=
-  am__fastdepCCAS_FALSE='#'
-else
-  am__fastdepCCAS_TRUE='#'
-  am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
-   if test "$GCC" = yes; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
-           ;;
-         ppc64-*linux*|powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         ppc*-*linux*|powerpc*-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
-        enable_dlopen=no
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl='-Wl,-Wl,,'
-       lt_prog_compiler_pic='-PIC'
-       lt_prog_compiler_static='-Bstatic'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ F* | *Sun*Fortran*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec=
-         hardcode_libdir_flag_spec_ld='-rpath $libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       always_export_symbols=yes
-       file_list_spec='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-       enable_shared_with_static_runtimes=yes
-       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds='chmod 644 $oldlib'
-       postlink_cmds='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_flag_spec_ld='+b $libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-       fi
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec="$LIB"
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
-else
-  libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
-else
-  ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
-       ac_cv_func_mmap_anon=no ;;
-     *)
-       ac_cv_func_mmap_anon=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
-   fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
-  TESTSUBDIR_TRUE=
-  TESTSUBDIR_FALSE='#'
-else
-  TESTSUBDIR_TRUE='#'
-  TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[0-9]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
- powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[34]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
-  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
-  MIPS_TRUE=
-  MIPS_FALSE='#'
-else
-  MIPS_TRUE='#'
-  MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
-  SPARC_TRUE=
-  SPARC_FALSE='#'
-else
-  SPARC_TRUE='#'
-  SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
-  X86_TRUE=
-  X86_FALSE='#'
-else
-  X86_TRUE='#'
-  X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
-  X86_FREEBSD_TRUE=
-  X86_FREEBSD_FALSE='#'
-else
-  X86_FREEBSD_TRUE='#'
-  X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
-  X86_WIN32_TRUE=
-  X86_WIN32_FALSE='#'
-else
-  X86_WIN32_TRUE='#'
-  X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
-  X86_WIN64_TRUE=
-  X86_WIN64_FALSE='#'
-else
-  X86_WIN64_TRUE='#'
-  X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
-  X86_DARWIN_TRUE=
-  X86_DARWIN_FALSE='#'
-else
-  X86_DARWIN_TRUE='#'
-  X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
-  ALPHA_TRUE=
-  ALPHA_FALSE='#'
-else
-  ALPHA_TRUE='#'
-  ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
-  IA64_TRUE=
-  IA64_FALSE='#'
-else
-  IA64_TRUE='#'
-  IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
-  M32R_TRUE=
-  M32R_FALSE='#'
-else
-  M32R_TRUE='#'
-  M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
-  M68K_TRUE=
-  M68K_FALSE='#'
-else
-  M68K_TRUE='#'
-  M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
-  MOXIE_TRUE=
-  MOXIE_FALSE='#'
-else
-  MOXIE_TRUE='#'
-  MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
-  POWERPC_TRUE=
-  POWERPC_FALSE='#'
-else
-  POWERPC_TRUE='#'
-  POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
-  POWERPC_AIX_TRUE=
-  POWERPC_AIX_FALSE='#'
-else
-  POWERPC_AIX_TRUE='#'
-  POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
-  POWERPC_DARWIN_TRUE=
-  POWERPC_DARWIN_FALSE='#'
-else
-  POWERPC_DARWIN_TRUE='#'
-  POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
-  POWERPC_FREEBSD_TRUE=
-  POWERPC_FREEBSD_FALSE='#'
-else
-  POWERPC_FREEBSD_TRUE='#'
-  POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
-  ARM_TRUE=
-  ARM_FALSE='#'
-else
-  ARM_TRUE='#'
-  ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
-  AVR32_TRUE=
-  AVR32_FALSE='#'
-else
-  AVR32_TRUE='#'
-  AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
-  LIBFFI_CRIS_TRUE=
-  LIBFFI_CRIS_FALSE='#'
-else
-  LIBFFI_CRIS_TRUE='#'
-  LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
-  FRV_TRUE=
-  FRV_FALSE='#'
-else
-  FRV_TRUE='#'
-  FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
-  S390_TRUE=
-  S390_FALSE='#'
-else
-  S390_TRUE='#'
-  S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
-  X86_64_TRUE=
-  X86_64_FALSE='#'
-else
-  X86_64_TRUE='#'
-  X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
-  SH_TRUE=
-  SH_FALSE='#'
-else
-  SH_TRUE='#'
-  SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
-  SH64_TRUE=
-  SH64_FALSE='#'
-else
-  SH64_TRUE='#'
-  SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
-  PA_LINUX_TRUE=
-  PA_LINUX_FALSE='#'
-else
-  PA_LINUX_TRUE='#'
-  PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
-  PA_HPUX_TRUE=
-  PA_HPUX_FALSE='#'
-else
-  PA_HPUX_TRUE='#'
-  PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
-  PA64_HPUX_TRUE=
-  PA64_HPUX_FALSE='#'
-else
-  PA64_HPUX_TRUE='#'
-  PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
-  ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
-                                   if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
-    break
-fi
-
-  done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_long_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
-    fi
-  fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    gcc_cv_as_cfi_pseudo_op=unknown
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gcc_cv_as_cfi_pseudo_op=yes
-else
-  gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  libffi_cv_as_sparc_ua_pcrel=yes
-else
-  libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_register_pseudo_op=yes
-else
-  libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_pcrel=yes
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
-           libffi_cv_as_x86_pcrel=no
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_ascii_pseudo_op=yes
-else
-  libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_string_pseudo_op=yes
-else
-  libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
-     ;;
-esac
-
-if test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
-    fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
-  enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
-  enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
-  enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
-  enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
-  fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
-  as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
-  as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
-  as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
-  as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
-  as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
-  as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
-  as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
-  as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
-  as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
-  as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
-  as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
-  as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
-  as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
-  as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
-  as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
-  as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
-    "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
-    "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
-    "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
-    "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
-    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
-    "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS  :L $CONFIG_LINKS  :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-  :L)
-  #
-  # CONFIG_LINK
-  #
-
-  if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
-    :
-  else
-    # Prefer the file from the source tree if names are identical.
-    if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
-      ac_source=$srcdir/$ac_source
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
-    if test ! -r "$ac_source"; then
-      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
-    fi
-    rm -f "$ac_file"
-
-    # Try a relative symlink, then a hard link, then a copy.
-    case $ac_source in
-    [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
-       *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
-    esac
-    ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
-      ln "$ac_source" "$ac_file" 2>/dev/null ||
-      cp -p "$ac_source" "$ac_file" ||
-      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
-  fi
- ;;
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-    "include":C) test -d include || mkdir include ;;
-    "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/debug-build/configure.ac b/.pc/debug-build/configure.ac
deleted file mode 100644 (file)
index b32f83b..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-AC_PROG_CC
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
- powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=yes
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
-           libffi_cv_as_x86_pcrel=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-    libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-    ])
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
-    AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-    AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.])
-else
-    AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.])
-fi
-
-AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-    libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-    ])
-if test $libffi_cv_hidden_visibility_attribute = yes; then
-    AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/ffi_last_abi/.timestamp b/.pc/ffi_last_abi/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/ffi_last_abi/ChangeLog b/.pc/ffi_last_abi/ChangeLog
deleted file mode 100644 (file)
index cb9401f..0000000
+++ /dev/null
@@ -1,4511 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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-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-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-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-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/ffi_last_abi/src/avr32/ffitarget.h b/.pc/ffi_last_abi/src/avr32/ffitarget.h
deleted file mode 100644 (file)
index 1c799b1..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 2009  Bradley Smith <brad@brad-smith.co.uk>
-   Target configuration macros for AVR32.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_DEFAULT_ABI = FFI_SYSV,
-  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-#define FFI_EXTRA_CIF_FIELDS unsigned int rstruct_flag
-
-/* Definitions for closures */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 36
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffi_last_abi/src/cris/ffi.c b/.pc/ffi_last_abi/src/cris/ffi.c
deleted file mode 100644 (file)
index e9c3953..0000000
+++ /dev/null
@@ -1,383 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 1998 Cygnus Solutions
-           Copyright (c) 2004 Simon Posnjak
-          Copyright (c) 2005 Axis Communications AB
-          Copyright (C) 2007 Free Software Foundation, Inc.
-
-   CRIS Foreign Function Interface
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL SIMON POSNJAK BE LIABLE FOR ANY CLAIM, DAMAGES OR
-   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-   OTHER DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-static ffi_status
-initialize_aggregate_packed_struct (ffi_type * arg)
-{
-  ffi_type **ptr;
-
-  FFI_ASSERT (arg != NULL);
-
-  FFI_ASSERT (arg->elements != NULL);
-  FFI_ASSERT (arg->size == 0);
-  FFI_ASSERT (arg->alignment == 0);
-
-  ptr = &(arg->elements[0]);
-
-  while ((*ptr) != NULL)
-    {
-      if (((*ptr)->size == 0)
-         && (initialize_aggregate_packed_struct ((*ptr)) != FFI_OK))
-       return FFI_BAD_TYPEDEF;
-
-      FFI_ASSERT (ffi_type_test ((*ptr)));
-
-      arg->size += (*ptr)->size;
-
-      arg->alignment = (arg->alignment > (*ptr)->alignment) ?
-       arg->alignment : (*ptr)->alignment;
-
-      ptr++;
-    }
-
-  if (arg->size == 0)
-    return FFI_BAD_TYPEDEF;
-  else
-    return FFI_OK;
-}
-
-int
-ffi_prep_args (char *stack, extended_cif * ecif)
-{
-  unsigned int i;
-  unsigned int struct_count = 0;
-  void **p_argv;
-  char *argp;
-  ffi_type **p_arg;
-
-  argp = stack;
-
-  p_argv = ecif->avalue;
-
-  for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
-       (i != 0); i--, p_arg++)
-    {
-      size_t z;
-
-      switch ((*p_arg)->type)
-       {
-       case FFI_TYPE_STRUCT:
-         {
-           z = (*p_arg)->size;
-           if (z <= 4)
-             {
-               memcpy (argp, *p_argv, z);
-               z = 4;
-             }
-           else if (z <= 8)
-             {
-               memcpy (argp, *p_argv, z);
-               z = 8;
-             }
-           else
-             {
-               unsigned int uiLocOnStack;
-               z = sizeof (void *);
-               uiLocOnStack = 4 * ecif->cif->nargs + struct_count;
-               struct_count = struct_count + (*p_arg)->size;
-               *(unsigned int *) argp =
-                 (unsigned int) (UINT32 *) (stack + uiLocOnStack);
-               memcpy ((stack + uiLocOnStack), *p_argv, (*p_arg)->size);
-             }
-           break;
-         }
-       default:
-         z = (*p_arg)->size;
-         if (z < sizeof (int))
-           {
-             switch ((*p_arg)->type)
-               {
-               case FFI_TYPE_SINT8:
-                 *(signed int *) argp = (signed int) *(SINT8 *) (*p_argv);
-                 break;
-
-               case FFI_TYPE_UINT8:
-                 *(unsigned int *) argp =
-                   (unsigned int) *(UINT8 *) (*p_argv);
-                 break;
-
-               case FFI_TYPE_SINT16:
-                 *(signed int *) argp = (signed int) *(SINT16 *) (*p_argv);
-                 break;
-
-               case FFI_TYPE_UINT16:
-                 *(unsigned int *) argp =
-                   (unsigned int) *(UINT16 *) (*p_argv);
-                 break;
-
-               default:
-                 FFI_ASSERT (0);
-               }
-             z = sizeof (int);
-           }
-         else if (z == sizeof (int))
-           *(unsigned int *) argp = (unsigned int) *(UINT32 *) (*p_argv);
-         else
-           memcpy (argp, *p_argv, z);
-         break;
-       }
-      p_argv++;
-      argp += z;
-    }
-
-  return (struct_count);
-}
-
-ffi_status
-ffi_prep_cif (ffi_cif * cif,
-             ffi_abi abi, unsigned int nargs,
-             ffi_type * rtype, ffi_type ** atypes)
-{
-  unsigned bytes = 0;
-  unsigned int i;
-  ffi_type **ptr;
-
-  FFI_ASSERT (cif != NULL);
-  FFI_ASSERT ((abi > FFI_FIRST_ABI) && (abi <= FFI_DEFAULT_ABI));
-
-  cif->abi = abi;
-  cif->arg_types = atypes;
-  cif->nargs = nargs;
-  cif->rtype = rtype;
-
-  cif->flags = 0;
-
-  if ((cif->rtype->size == 0)
-      && (initialize_aggregate_packed_struct (cif->rtype) != FFI_OK))
-    return FFI_BAD_TYPEDEF;
-
-  FFI_ASSERT_VALID_TYPE (cif->rtype);
-
-  for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-    {
-      if (((*ptr)->size == 0)
-         && (initialize_aggregate_packed_struct ((*ptr)) != FFI_OK))
-       return FFI_BAD_TYPEDEF;
-
-      FFI_ASSERT_VALID_TYPE (*ptr);
-
-      if (((*ptr)->alignment - 1) & bytes)
-       bytes = ALIGN (bytes, (*ptr)->alignment);
-      if ((*ptr)->type == FFI_TYPE_STRUCT)
-       {
-         if ((*ptr)->size > 8)
-           {
-             bytes += (*ptr)->size;
-             bytes += sizeof (void *);
-           }
-         else
-           {
-             if ((*ptr)->size > 4)
-               bytes += 8;
-             else
-               bytes += 4;
-           }
-       }
-      else
-       bytes += STACK_ARG_SIZE ((*ptr)->size);
-    }
-
-  cif->bytes = bytes;
-
-  return ffi_prep_cif_machdep (cif);
-}
-
-ffi_status
-ffi_prep_cif_machdep (ffi_cif * cif)
-{
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_VOID:
-    case FFI_TYPE_STRUCT:
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_UINT64:
-      cif->flags = (unsigned) cif->rtype->type;
-      break;
-
-    default:
-      cif->flags = FFI_TYPE_INT;
-      break;
-    }
-
-  return FFI_OK;
-}
-
-extern void ffi_call_SYSV (int (*)(char *, extended_cif *),
-                          extended_cif *,
-                          unsigned, unsigned, unsigned *, void (*fn) ())
-     __attribute__ ((__visibility__ ("hidden")));
-
-void
-ffi_call (ffi_cif * cif, void (*fn) (), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  if ((rvalue == NULL) && (cif->rtype->type == FFI_TYPE_STRUCT))
-    {
-      ecif.rvalue = alloca (cif->rtype->size);
-    }
-  else
-    ecif.rvalue = rvalue;
-
-  switch (cif->abi)
-    {
-    case FFI_SYSV:
-      ffi_call_SYSV (ffi_prep_args, &ecif, cif->bytes,
-                    cif->flags, ecif.rvalue, fn);
-      break;
-    default:
-      FFI_ASSERT (0);
-      break;
-    }
-}
-
-/* Because the following variables are not exported outside libffi, we
-   mark them hidden.  */
-
-/* Assembly code for the jump stub.  */
-extern const char ffi_cris_trampoline_template[]
- __attribute__ ((__visibility__ ("hidden")));
-
-/* Offset into ffi_cris_trampoline_template of where to put the
-   ffi_prep_closure_inner function.  */
-extern const int ffi_cris_trampoline_fn_offset
- __attribute__ ((__visibility__ ("hidden")));
-
-/* Offset into ffi_cris_trampoline_template of where to put the
-   closure data.  */
-extern const int ffi_cris_trampoline_closure_offset
- __attribute__ ((__visibility__ ("hidden")));
-
-/* This function is sibling-called (jumped to) by the closure
-   trampoline.  We get R10..R13 at PARAMS[0..3] and a copy of [SP] at
-   PARAMS[4] to simplify handling of a straddling parameter.  A copy
-   of R9 is at PARAMS[5] and SP at PARAMS[6].  These parameters are
-   put at the appropriate place in CLOSURE which is then executed and
-   the return value is passed back to the caller.  */
-
-static unsigned long long
-ffi_prep_closure_inner (void **params, ffi_closure* closure)
-{
-  char *register_args = (char *) params;
-  void *struct_ret = params[5];
-  char *stack_args = params[6];
-  char *ptr = register_args;
-  ffi_cif *cif = closure->cif;
-  ffi_type **arg_types = cif->arg_types;
-
-  /* Max room needed is number of arguments as 64-bit values.  */
-  void **avalue = alloca (closure->cif->nargs * sizeof(void *));
-  int i;
-  int doing_regs;
-  long long llret = 0;
-
-  /* Find the address of each argument.  */
-  for (i = 0, doing_regs = 1; i < cif->nargs; i++)
-    {
-      /* Types up to and including 8 bytes go by-value.  */
-      if (arg_types[i]->size <= 4)
-       {
-         avalue[i] = ptr;
-         ptr += 4;
-       }
-      else if (arg_types[i]->size <= 8)
-       {
-         avalue[i] = ptr;
-         ptr += 8;
-       }
-      else
-       {
-         FFI_ASSERT (arg_types[i]->type == FFI_TYPE_STRUCT);
-
-         /* Passed by-reference, so copy the pointer.  */
-         avalue[i] = *(void **) ptr;
-         ptr += 4;
-       }
-
-      /* If we've handled more arguments than fit in registers, start
-        looking at the those passed on the stack.  Step over the
-        first one if we had a straddling parameter.  */
-      if (doing_regs && ptr >= register_args + 4*4)
-       {
-         ptr = stack_args + ((ptr > register_args + 4*4) ? 4 : 0);
-         doing_regs = 0;
-       }
-    }
-
-  /* Invoke the closure.  */
-  (closure->fun) (cif,
-
-                 cif->rtype->type == FFI_TYPE_STRUCT
-                 /* The caller allocated space for the return
-                    structure, and passed a pointer to this space in
-                    R9.  */
-                 ? struct_ret
-
-                 /* We take advantage of being able to ignore that
-                    the high part isn't set if the return value is
-                    not in R10:R11, but in R10 only.  */
-                 : (void *) &llret,
-
-                 avalue, closure->user_data);
-
-  return llret;
-}
-
-/* API function: Prepare the trampoline.  */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif *, void *, void **, void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  void *innerfn = ffi_prep_closure_inner;
-  FFI_ASSERT (cif->abi == FFI_SYSV);
-  closure->cif  = cif;
-  closure->user_data = user_data;
-  closure->fun  = fun;
-  memcpy (closure->tramp, ffi_cris_trampoline_template,
-         FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE);
-  memcpy (closure->tramp + ffi_cris_trampoline_fn_offset,
-         &innerfn, sizeof (void *));
-  memcpy (closure->tramp + ffi_cris_trampoline_closure_offset,
-         &codeloc, sizeof (void *));
-
-  return FFI_OK;
-}
diff --git a/.pc/ffi_last_abi/src/cris/ffitarget.h b/.pc/ffi_last_abi/src/cris/ffitarget.h
deleted file mode 100644 (file)
index 4257f10..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for CRIS.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_DEFAULT_ABI = FFI_SYSV,
-  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE 36
-#define FFI_CRIS_TRAMPOLINE_DATA_PART_SIZE (7*4)
-#define FFI_TRAMPOLINE_SIZE \
- (FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE + FFI_CRIS_TRAMPOLINE_DATA_PART_SIZE)
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffi_last_abi/src/frv/ffitarget.h b/.pc/ffi_last_abi/src/frv/ffitarget.h
deleted file mode 100644 (file)
index 1c319ea..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2004  Red Hat, Inc.
-   Target configuration macros for FR-V
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-
-#ifdef FRV
-  FFI_EABI,
-  FFI_DEFAULT_ABI = FFI_EABI,
-#endif
-
-  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-#ifdef __FRV_FDPIC__
-/* Trampolines are 8 4-byte instructions long.  */
-#define FFI_TRAMPOLINE_SIZE (8*4)
-#else
-/* Trampolines are 5 4-byte instructions long.  */
-#define FFI_TRAMPOLINE_SIZE (5*4)
-#endif
-
-#endif
diff --git a/.pc/ffi_last_abi/src/ia64/ffitarget.h b/.pc/ffi_last_abi/src/ia64/ffitarget.h
deleted file mode 100644 (file)
index d85c049..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for IA-64.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long long          ffi_arg;
-typedef signed long long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_UNIX,    /* Linux and all Unix variants use the same conventions */
-  FFI_DEFAULT_ABI = FFI_UNIX,
-  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 24  /* Really the following struct, which  */
-                               /* can be interpreted as a C function   */
-                               /* descriptor:                          */
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/m32r/ffitarget.h b/.pc/ffi_last_abi/src/m32r/ffitarget.h
deleted file mode 100644 (file)
index 6a761f6..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 2004  Renesas Technology.
-   Target configuration macros for M32R.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR
-   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-   OTHER DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi
-  {
-    FFI_FIRST_ABI = 0,
-    FFI_SYSV,
-    FFI_DEFAULT_ABI = FFI_SYSV,
-    FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-  } ffi_abi;
-#endif
-
-#define FFI_CLOSURES           0
-#define FFI_TRAMPOLINE_SIZE    24
-#define FFI_NATIVE_RAW_API     0
-
-#endif
diff --git a/.pc/ffi_last_abi/src/m68k/ffitarget.h b/.pc/ffi_last_abi/src/m68k/ffitarget.h
deleted file mode 100644 (file)
index 633717b..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for Motorola 68K.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_DEFAULT_ABI = FFI_SYSV,
-  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 16
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/mips/ffitarget.h b/.pc/ffi_last_abi/src/mips/ffitarget.h
deleted file mode 100644 (file)
index d0fc983..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for MIPS.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifdef linux
-# include <asm/sgidefs.h>
-#elif defined(__rtems__)
-/*
- * Subprogram calling convention - copied from sgidefs.h
- */
-#define _MIPS_SIM_ABI32                1
-#define _MIPS_SIM_NABI32       2
-#define _MIPS_SIM_ABI64                3
-#else
-# include <sgidefs.h>
-#endif
-
-#  ifndef _ABIN32
-#    define _ABIN32 _MIPS_SIM_NABI32
-#  endif
-#  ifndef _ABI64
-#    define _ABI64 _MIPS_SIM_ABI64
-#  endif
-#  ifndef _ABIO32
-#    define _ABIO32 _MIPS_SIM_ABI32
-#  endif
-
-#if !defined(_MIPS_SIM)
--- something is very wrong --
-#else
-#  if (_MIPS_SIM==_ABIN32 && defined(_ABIN32)) || (_MIPS_SIM==_ABI64 && defined(_ABI64))
-#    define FFI_MIPS_N32
-#  else
-#    if (_MIPS_SIM==_ABIO32 && defined(_ABIO32))
-#      define FFI_MIPS_O32
-#    else
--- this is an unsupported platform --
-#    endif
-#  endif
-#endif
-
-#ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-#  define FFI_SIZEOF_ARG    4
-#else
-/* N32 and N64 frames have 64bit integer args */
-#  define FFI_SIZEOF_ARG    8
-#  if _MIPS_SIM == _ABIN32
-#    define FFI_SIZEOF_JAVA_RAW  4
-#  endif
-#endif
-
-#define FFI_FLAG_BITS 2
-
-/* SGI's strange assembler requires that we multiply by 4 rather 
-   than shift left by FFI_FLAG_BITS */
-
-#define FFI_ARGS_D   FFI_TYPE_DOUBLE
-#define FFI_ARGS_F   FFI_TYPE_FLOAT
-#define FFI_ARGS_DD  FFI_TYPE_DOUBLE * 4 + FFI_TYPE_DOUBLE
-#define FFI_ARGS_FF  FFI_TYPE_FLOAT * 4 +  FFI_TYPE_FLOAT
-#define FFI_ARGS_FD  FFI_TYPE_DOUBLE * 4 + FFI_TYPE_FLOAT
-#define FFI_ARGS_DF  FFI_TYPE_FLOAT * 4 + FFI_TYPE_DOUBLE
-
-/* Needed for N32 structure returns */
-#define FFI_TYPE_SMALLSTRUCT  FFI_TYPE_UINT8
-#define FFI_TYPE_SMALLSTRUCT2 FFI_TYPE_SINT8
-
-#if 0
-/* The SGI assembler can't handle this.. */
-#define FFI_TYPE_STRUCT_DD (( FFI_ARGS_DD ) << 4) + FFI_TYPE_STRUCT
-/* (and so on) */
-#else
-/* ...so we calculate these by hand! */
-#define FFI_TYPE_STRUCT_D      61
-#define FFI_TYPE_STRUCT_F      45
-#define FFI_TYPE_STRUCT_DD     253
-#define FFI_TYPE_STRUCT_FF     173
-#define FFI_TYPE_STRUCT_FD     237
-#define FFI_TYPE_STRUCT_DF     189
-#define FFI_TYPE_STRUCT_SMALL  93
-#define FFI_TYPE_STRUCT_SMALL2 109
-
-/* and for n32 soft float, add 16 * 2^4 */
-#define FFI_TYPE_STRUCT_D_SOFT      317
-#define FFI_TYPE_STRUCT_F_SOFT      301
-#define FFI_TYPE_STRUCT_DD_SOFT     509
-#define FFI_TYPE_STRUCT_FF_SOFT     429
-#define FFI_TYPE_STRUCT_FD_SOFT     493
-#define FFI_TYPE_STRUCT_DF_SOFT     445
-#define FFI_TYPE_STRUCT_SOFT        16
-#endif
-
-#ifdef LIBFFI_ASM
-#define v0 $2
-#define v1 $3
-#define a0 $4
-#define a1 $5
-#define a2 $6
-#define a3 $7
-#define a4 $8          
-#define a5 $9          
-#define a6 $10         
-#define a7 $11         
-#define t0 $8
-#define t1 $9
-#define t2 $10
-#define t3 $11
-#define t4 $12         
-#define t5 $13
-#define t6 $14 
-#define t7 $15
-#define t8 $24
-#define t9 $25
-#define ra $31         
-
-#ifdef FFI_MIPS_O32
-# define REG_L lw
-# define REG_S sw
-# define SUBU  subu
-# define ADDU  addu
-# define SRL   srl
-# define LI    li
-#else /* !FFI_MIPS_O32 */
-# define REG_L ld
-# define REG_S sd
-# define SUBU  dsubu
-# define ADDU  daddu
-# define SRL   dsrl
-# define LI    dli
-# if (_MIPS_SIM==_ABI64)
-#  define LA dla
-#  define EH_FRAME_ALIGN 3
-#  define FDE_ADDR_BYTES .8byte
-# else
-#  define LA la
-#  define EH_FRAME_ALIGN 2
-#  define FDE_ADDR_BYTES .4byte
-# endif /* _MIPS_SIM==_ABI64 */
-#endif /* !FFI_MIPS_O32 */
-#else /* !LIBFFI_ASM */
-# ifdef __GNUC__
-#  ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef unsigned int     ffi_arg __attribute__((__mode__(__SI__)));
-typedef signed   int     ffi_sarg __attribute__((__mode__(__SI__)));
-#else
-/* N32 and N64 frames have 64bit integer args */
-typedef unsigned int     ffi_arg __attribute__((__mode__(__DI__)));
-typedef signed   int     ffi_sarg __attribute__((__mode__(__DI__)));
-#  endif
-# else
-#  ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef __uint32_t ffi_arg;
-typedef __int32_t ffi_sarg;
-#  else
-/* N32 and N64 frames have 64bit integer args */
-typedef __uint64_t ffi_arg;
-typedef __int64_t ffi_sarg;
-#  endif
-# endif /* __GNUC__ */
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_O32,
-  FFI_N32,
-  FFI_N64,
-  FFI_O32_SOFT_FLOAT,
-  FFI_N32_SOFT_FLOAT,
-  FFI_N64_SOFT_FLOAT,
-
-#ifdef FFI_MIPS_O32
-#ifdef __mips_soft_float
-  FFI_DEFAULT_ABI = FFI_O32_SOFT_FLOAT,
-#else
-  FFI_DEFAULT_ABI = FFI_O32,
-#endif
-#else
-# if _MIPS_SIM==_ABI64
-#  ifdef __mips_soft_float
-  FFI_DEFAULT_ABI = FFI_N64_SOFT_FLOAT,
-#  else
-  FFI_DEFAULT_ABI = FFI_N64,
-#  endif
-# else
-#  ifdef __mips_soft_float
-  FFI_DEFAULT_ABI = FFI_N32_SOFT_FLOAT,
-#  else
-  FFI_DEFAULT_ABI = FFI_N32,
-#  endif
-# endif
-#endif
-
-  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-
-#define FFI_EXTRA_CIF_FIELDS unsigned rstruct_flag
-#endif /* !LIBFFI_ASM */
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if defined(FFI_MIPS_O32)
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 20
-#else
-/* N32/N64. */
-# define FFI_CLOSURES 1
-#if _MIPS_SIM==_ABI64
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#define FFI_TRAMPOLINE_SIZE 20
-#endif
-#endif /* FFI_MIPS_O32 */
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/moxie/ffitarget.h b/.pc/ffi_last_abi/src/moxie/ffitarget.h
deleted file mode 100644 (file)
index f5305d1..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 2009 Anthony Green
-   Target configuration macros for Moxie
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-
-#ifdef MOXIE
-  FFI_EABI,
-  FFI_DEFAULT_ABI = FFI_EABI,
-#endif
-
-  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 0
-#define FFI_NATIVE_RAW_API 0
-
-/* Trampolines are 5 4-byte instructions long.  */
-#define FFI_TRAMPOLINE_SIZE (5*4)
-
-#endif
diff --git a/.pc/ffi_last_abi/src/pa/ffitarget.h b/.pc/ffi_last_abi/src/pa/ffitarget.h
deleted file mode 100644 (file)
index 001f891..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for hppa.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-
-#ifdef PA_LINUX
-  FFI_PA32,
-  FFI_DEFAULT_ABI = FFI_PA32,
-#endif
-
-#ifdef PA_HPUX
-  FFI_PA32,
-  FFI_DEFAULT_ABI = FFI_PA32,
-#endif
-
-#ifdef PA64_HPUX
-#error "PA64_HPUX FFI is not yet implemented"
-  FFI_PA64,
-  FFI_DEFAULT_ABI = FFI_PA64,
-#endif
-
-  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-#ifdef PA_LINUX
-#define FFI_TRAMPOLINE_SIZE 32
-#else
-#define FFI_TRAMPOLINE_SIZE 40
-#endif
-
-#define FFI_TYPE_SMALL_STRUCT2 -1
-#define FFI_TYPE_SMALL_STRUCT3 -2
-#define FFI_TYPE_SMALL_STRUCT4 -3
-#define FFI_TYPE_SMALL_STRUCT5 -4
-#define FFI_TYPE_SMALL_STRUCT6 -5
-#define FFI_TYPE_SMALL_STRUCT7 -6
-#define FFI_TYPE_SMALL_STRUCT8 -7
-#endif
diff --git a/.pc/ffi_last_abi/src/prep_cif.c b/.pc/ffi_last_abi/src/prep_cif.c
deleted file mode 100644 (file)
index e0a0c68..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/* -----------------------------------------------------------------------
-   prep_cif.c - Copyright (c) 1996, 1998, 2007  Red Hat, Inc.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-/* Round up to FFI_SIZEOF_ARG. */
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-/* Perform machine independent initialization of aggregate type
-   specifications. */
-
-static ffi_status initialize_aggregate(ffi_type *arg)
-{
-  ffi_type **ptr;
-
-  FFI_ASSERT(arg != NULL);
-
-  FFI_ASSERT(arg->elements != NULL);
-  FFI_ASSERT(arg->size == 0);
-  FFI_ASSERT(arg->alignment == 0);
-
-  ptr = &(arg->elements[0]);
-
-  while ((*ptr) != NULL)
-    {
-      if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
-       return FFI_BAD_TYPEDEF;
-
-      /* Perform a sanity check on the argument type */
-      FFI_ASSERT_VALID_TYPE(*ptr);
-
-      arg->size = ALIGN(arg->size, (*ptr)->alignment);
-      arg->size += (*ptr)->size;
-
-      arg->alignment = (arg->alignment > (*ptr)->alignment) ?
-       arg->alignment : (*ptr)->alignment;
-
-      ptr++;
-    }
-
-  /* Structure size includes tail padding.  This is important for
-     structures that fit in one register on ABIs like the PowerPC64
-     Linux ABI that right justify small structs in a register.
-     It's also needed for nested structure layout, for example
-     struct A { long a; char b; }; struct B { struct A x; char y; };
-     should find y at an offset of 2*sizeof(long) and result in a
-     total size of 3*sizeof(long).  */
-  arg->size = ALIGN (arg->size, arg->alignment);
-
-  if (arg->size == 0)
-    return FFI_BAD_TYPEDEF;
-  else
-    return FFI_OK;
-}
-
-#ifndef __CRIS__
-/* The CRIS ABI specifies structure elements to have byte
-   alignment only, so it completely overrides this functions,
-   which assumes "natural" alignment and padding.  */
-
-/* Perform machine independent ffi_cif preparation, then call
-   machine dependent routine. */
-
-ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
-                       ffi_type *rtype, ffi_type **atypes)
-{
-  unsigned bytes = 0;
-  unsigned int i;
-  ffi_type **ptr;
-
-  FFI_ASSERT(cif != NULL);
-#ifndef X86_WIN32
-  FFI_ASSERT((abi > FFI_FIRST_ABI) && (abi <= FFI_DEFAULT_ABI));
-#else
-  FFI_ASSERT(abi > FFI_FIRST_ABI && abi <= FFI_DEFAULT_ABI
-            || abi == FFI_THISCALL);
-#endif
-
-  cif->abi = abi;
-  cif->arg_types = atypes;
-  cif->nargs = nargs;
-  cif->rtype = rtype;
-
-  cif->flags = 0;
-
-  /* Initialize the return type if necessary */
-  if ((cif->rtype->size == 0) && (initialize_aggregate(cif->rtype) != FFI_OK))
-    return FFI_BAD_TYPEDEF;
-
-  /* Perform a sanity check on the return type */
-  FFI_ASSERT_VALID_TYPE(cif->rtype);
-
-  /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */
-#if !defined M68K && !defined __i386__ && !defined __x86_64__ && !defined S390 && !defined PA
-  /* Make space for the return structure pointer */
-  if (cif->rtype->type == FFI_TYPE_STRUCT
-#ifdef SPARC
-      && (cif->abi != FFI_V9 || cif->rtype->size > 32)
-#endif
-     )
-    bytes = STACK_ARG_SIZE(sizeof(void*));
-#endif
-
-  for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-    {
-
-      /* Initialize any uninitialized aggregate type definitions */
-      if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
-       return FFI_BAD_TYPEDEF;
-
-      /* Perform a sanity check on the argument type, do this
-        check after the initialization.  */
-      FFI_ASSERT_VALID_TYPE(*ptr);
-
-#if !defined __i386__ && !defined __x86_64__ && !defined S390 && !defined PA
-#ifdef SPARC
-      if (((*ptr)->type == FFI_TYPE_STRUCT
-          && ((*ptr)->size > 16 || cif->abi != FFI_V9))
-         || ((*ptr)->type == FFI_TYPE_LONGDOUBLE
-             && cif->abi != FFI_V9))
-       bytes += sizeof(void*);
-      else
-#endif
-       {
-         /* Add any padding if necessary */
-         if (((*ptr)->alignment - 1) & bytes)
-           bytes = ALIGN(bytes, (*ptr)->alignment);
-
-         bytes += STACK_ARG_SIZE((*ptr)->size);
-       }
-#endif
-    }
-
-  cif->bytes = bytes;
-
-  /* Perform machine dependent cif processing */
-  return ffi_prep_cif_machdep(cif);
-}
-#endif /* not __CRIS__ */
-
-#if FFI_CLOSURES
-
-ffi_status
-ffi_prep_closure (ffi_closure* closure,
-                 ffi_cif* cif,
-                 void (*fun)(ffi_cif*,void*,void**,void*),
-                 void *user_data)
-{
-  return ffi_prep_closure_loc (closure, cif, fun, user_data, closure);
-}
-
-#endif
diff --git a/.pc/ffi_last_abi/src/s390/ffitarget.h b/.pc/ffi_last_abi/src/s390/ffitarget.h
deleted file mode 100644 (file)
index 3862738..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for S390.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#if defined (__s390x__)
-#ifndef S390X
-#define S390X
-#endif
-#endif
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_DEFAULT_ABI = FFI_SYSV,
-  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#ifdef S390X
-#define FFI_TRAMPOLINE_SIZE 32
-#else
-#define FFI_TRAMPOLINE_SIZE 16
-#endif
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/sh/ffitarget.h b/.pc/ffi_last_abi/src/sh/ffitarget.h
deleted file mode 100644 (file)
index 218ae3d..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for SuperH.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_DEFAULT_ABI = FFI_SYSV,
-  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 16
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/sh64/ffitarget.h b/.pc/ffi_last_abi/src/sh64/ffitarget.h
deleted file mode 100644 (file)
index 4e922fc..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for SuperH - SHmedia.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_DEFAULT_ABI = FFI_SYSV,
-  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-
-#define FFI_EXTRA_CIF_FIELDS long long flags2
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 32
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/sparc/ffitarget.h b/.pc/ffi_last_abi/src/sparc/ffitarget.h
deleted file mode 100644 (file)
index 50554b8..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for SPARC.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#if defined(__arch64__) || defined(__sparcv9)
-#ifndef SPARC64
-#define SPARC64
-#endif
-#endif
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_V8,
-  FFI_V8PLUS,
-  FFI_V9,
-#ifdef SPARC64
-  FFI_DEFAULT_ABI = FFI_V9,
-#else
-  FFI_DEFAULT_ABI = FFI_V8,
-#endif
-  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-#ifdef SPARC64
-#define FFI_TRAMPOLINE_SIZE 24
-#else
-#define FFI_TRAMPOLINE_SIZE 16
-#endif
-
-#endif
-
diff --git a/.pc/ffi_last_abi/src/x86/ffitarget.h b/.pc/ffi_last_abi/src/x86/ffitarget.h
deleted file mode 100644 (file)
index dfecd1b..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003, 2010  Red Hat, Inc.
-   Copyright (C) 2008  Free Software Foundation, Inc.
-
-   Target configuration macros for x86 and x86-64.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#if defined (X86_64) && defined (__i386__)
-#undef X86_64
-#define X86
-#endif
-
-#ifdef X86_WIN64
-#define FFI_SIZEOF_ARG 8
-#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */
-#endif
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-#ifdef X86_WIN64
-#ifdef _MSC_VER
-typedef unsigned __int64       ffi_arg;
-typedef __int64                ffi_sarg;
-#else
-typedef unsigned long long     ffi_arg;
-typedef long long              ffi_sarg;
-#endif
-#else
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-#endif
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-
-  /* ---- Intel x86 Win32 ---------- */
-#ifdef X86_WIN32
-  FFI_SYSV,
-  FFI_STDCALL,
-  FFI_THISCALL,
-  FFI_FASTCALL,
-  /* TODO: Add fastcall support for the sake of completeness */
-  FFI_DEFAULT_ABI = FFI_SYSV,
-#endif
-
-#ifdef X86_WIN64
-  FFI_WIN64,
-  FFI_DEFAULT_ABI = FFI_WIN64,
-#else
-
-  /* ---- Intel x86 and AMD x86-64 - */
-#if !defined(X86_WIN32) && (defined(__i386__) || defined(__x86_64__) || defined(__i386) || defined(__amd64))
-  FFI_SYSV,
-  FFI_UNIX64,   /* Unix variants all use the same ABI for x86-64  */
-#if defined(__i386__) || defined(__i386)
-  FFI_DEFAULT_ABI = FFI_SYSV,
-#else
-  FFI_DEFAULT_ABI = FFI_UNIX64,
-#endif
-#endif
-#endif /* X86_WIN64 */
-
-  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
-#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
-#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
-
-#if defined (X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
-#define FFI_TRAMPOLINE_SIZE 24
-#define FFI_NATIVE_RAW_API 0
-#else
-#ifdef X86_WIN32
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#ifdef X86_WIN64
-#define FFI_TRAMPOLINE_SIZE 29
-#define FFI_NATIVE_RAW_API 0
-#define FFI_NO_RAW_API 1
-#else
-#define FFI_TRAMPOLINE_SIZE 10
-#endif
-#endif
-#ifndef X86_WIN64
-#define FFI_NATIVE_RAW_API 1   /* x86 has native raw api support */
-#endif
-#endif
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/.timestamp b/.pc/ffitarget-include-fix/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/ffitarget-include-fix/src/alpha/ffitarget.h b/.pc/ffitarget-include-fix/src/alpha/ffitarget.h
deleted file mode 100644 (file)
index 7d06eb0..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for Alpha.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_OSF,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_OSF
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 24
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/arm/ffitarget.h b/.pc/ffitarget-include-fix/src/arm/ffitarget.h
deleted file mode 100644 (file)
index b9a0428..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-                 Copyright (c) 2010 CodeSourcery
-
-   Target configuration macros for ARM.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_VFP,
-  FFI_LAST_ABI,
-#ifdef __ARM_PCS_VFP
-  FFI_DEFAULT_ABI = FFI_VFP,
-#else
-  FFI_DEFAULT_ABI = FFI_SYSV,
-#endif
-} ffi_abi;
-#endif
-
-#define FFI_EXTRA_CIF_FIELDS                   \
-  int vfp_used;                                        \
-  short vfp_reg_free, vfp_nargs;               \
-  signed char vfp_args[16]                     \
-
-/* Internally used. */
-#define FFI_TYPE_STRUCT_VFP_FLOAT  (FFI_TYPE_LAST + 1)
-#define FFI_TYPE_STRUCT_VFP_DOUBLE (FFI_TYPE_LAST + 2)
-
-#define FFI_TARGET_SPECIFIC_VARIADIC
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 20
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/avr32/ffitarget.h b/.pc/ffitarget-include-fix/src/avr32/ffitarget.h
deleted file mode 100644 (file)
index b85d062..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 2009  Bradley Smith <brad@brad-smith.co.uk>
-   Target configuration macros for AVR32.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_SYSV
-} ffi_abi;
-#endif
-
-#define FFI_EXTRA_CIF_FIELDS unsigned int rstruct_flag
-
-/* Definitions for closures */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 36
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/cris/ffitarget.h b/.pc/ffitarget-include-fix/src/cris/ffitarget.h
deleted file mode 100644 (file)
index 0e3705d..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for CRIS.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_SYSV
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE 36
-#define FFI_CRIS_TRAMPOLINE_DATA_PART_SIZE (7*4)
-#define FFI_TRAMPOLINE_SIZE \
- (FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE + FFI_CRIS_TRAMPOLINE_DATA_PART_SIZE)
-#define FFI_NATIVE_RAW_API 0
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/frv/ffitarget.h b/.pc/ffitarget-include-fix/src/frv/ffitarget.h
deleted file mode 100644 (file)
index 4839069..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2004  Red Hat, Inc.
-   Target configuration macros for FR-V
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_EABI,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_EABI
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-#ifdef __FRV_FDPIC__
-/* Trampolines are 8 4-byte instructions long.  */
-#define FFI_TRAMPOLINE_SIZE (8*4)
-#else
-/* Trampolines are 5 4-byte instructions long.  */
-#define FFI_TRAMPOLINE_SIZE (5*4)
-#endif
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/ia64/ffitarget.h b/.pc/ffitarget-include-fix/src/ia64/ffitarget.h
deleted file mode 100644 (file)
index 0d2001d..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for IA-64.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long long          ffi_arg;
-typedef signed long long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_UNIX,    /* Linux and all Unix variants use the same conventions */
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_UNIX
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 24  /* Really the following struct, which  */
-                               /* can be interpreted as a C function   */
-                               /* descriptor:                          */
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/m32r/ffitarget.h b/.pc/ffitarget-include-fix/src/m32r/ffitarget.h
deleted file mode 100644 (file)
index 2e2ea48..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 2004  Renesas Technology.
-   Target configuration macros for M32R.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL RENESAS TECHNOLOGY BE LIABLE FOR ANY CLAIM, DAMAGES OR
-   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-   OTHER DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi
-  {
-    FFI_FIRST_ABI = 0,
-    FFI_SYSV,
-    FFI_LAST_ABI,
-    FFI_DEFAULT_ABI = FFI_SYSV
-  } ffi_abi;
-#endif
-
-#define FFI_CLOSURES           0
-#define FFI_TRAMPOLINE_SIZE    24
-#define FFI_NATIVE_RAW_API     0
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/m68k/ffitarget.h b/.pc/ffitarget-include-fix/src/m68k/ffitarget.h
deleted file mode 100644 (file)
index 3b777ed..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for Motorola 68K.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_SYSV
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 16
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/mips/ffitarget.h b/.pc/ffitarget-include-fix/src/mips/ffitarget.h
deleted file mode 100644 (file)
index 637adbf..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for MIPS.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifdef linux
-# include <asm/sgidefs.h>
-#elif defined(__rtems__)
-/*
- * Subprogram calling convention - copied from sgidefs.h
- */
-#define _MIPS_SIM_ABI32                1
-#define _MIPS_SIM_NABI32       2
-#define _MIPS_SIM_ABI64                3
-#elif !defined(__OpenBSD__)
-# include <sgidefs.h>
-#endif
-
-#  ifndef _ABIN32
-#    define _ABIN32 _MIPS_SIM_NABI32
-#  endif
-#  ifndef _ABI64
-#    define _ABI64 _MIPS_SIM_ABI64
-#  endif
-#  ifndef _ABIO32
-#    define _ABIO32 _MIPS_SIM_ABI32
-#  endif
-
-#if !defined(_MIPS_SIM)
-# error -- something is very wrong --
-#else
-#  if (_MIPS_SIM==_ABIN32 && defined(_ABIN32)) || (_MIPS_SIM==_ABI64 && defined(_ABI64))
-#    define FFI_MIPS_N32
-#  else
-#    if (_MIPS_SIM==_ABIO32 && defined(_ABIO32))
-#      define FFI_MIPS_O32
-#    else
-#     error -- this is an unsupported platform --
-#    endif
-#  endif
-#endif
-
-#ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-#  define FFI_SIZEOF_ARG    4
-#else
-/* N32 and N64 frames have 64bit integer args */
-#  define FFI_SIZEOF_ARG    8
-#  if _MIPS_SIM == _ABIN32
-#    define FFI_SIZEOF_JAVA_RAW  4
-#  endif
-#endif
-
-#define FFI_FLAG_BITS 2
-
-/* SGI's strange assembler requires that we multiply by 4 rather 
-   than shift left by FFI_FLAG_BITS */
-
-#define FFI_ARGS_D   FFI_TYPE_DOUBLE
-#define FFI_ARGS_F   FFI_TYPE_FLOAT
-#define FFI_ARGS_DD  FFI_TYPE_DOUBLE * 4 + FFI_TYPE_DOUBLE
-#define FFI_ARGS_FF  FFI_TYPE_FLOAT * 4 +  FFI_TYPE_FLOAT
-#define FFI_ARGS_FD  FFI_TYPE_DOUBLE * 4 + FFI_TYPE_FLOAT
-#define FFI_ARGS_DF  FFI_TYPE_FLOAT * 4 + FFI_TYPE_DOUBLE
-
-/* Needed for N32 structure returns */
-#define FFI_TYPE_SMALLSTRUCT  FFI_TYPE_UINT8
-#define FFI_TYPE_SMALLSTRUCT2 FFI_TYPE_SINT8
-
-#if 0
-/* The SGI assembler can't handle this.. */
-#define FFI_TYPE_STRUCT_DD (( FFI_ARGS_DD ) << 4) + FFI_TYPE_STRUCT
-/* (and so on) */
-#else
-/* ...so we calculate these by hand! */
-#define FFI_TYPE_STRUCT_D      61
-#define FFI_TYPE_STRUCT_F      45
-#define FFI_TYPE_STRUCT_DD     253
-#define FFI_TYPE_STRUCT_FF     173
-#define FFI_TYPE_STRUCT_FD     237
-#define FFI_TYPE_STRUCT_DF     189
-#define FFI_TYPE_STRUCT_SMALL  93
-#define FFI_TYPE_STRUCT_SMALL2 109
-
-/* and for n32 soft float, add 16 * 2^4 */
-#define FFI_TYPE_STRUCT_D_SOFT      317
-#define FFI_TYPE_STRUCT_F_SOFT      301
-#define FFI_TYPE_STRUCT_DD_SOFT     509
-#define FFI_TYPE_STRUCT_FF_SOFT     429
-#define FFI_TYPE_STRUCT_FD_SOFT     493
-#define FFI_TYPE_STRUCT_DF_SOFT     445
-#define FFI_TYPE_STRUCT_SOFT        16
-#endif
-
-#ifdef LIBFFI_ASM
-#define v0 $2
-#define v1 $3
-#define a0 $4
-#define a1 $5
-#define a2 $6
-#define a3 $7
-#define a4 $8          
-#define a5 $9          
-#define a6 $10         
-#define a7 $11         
-#define t0 $8
-#define t1 $9
-#define t2 $10
-#define t3 $11
-#define t4 $12         
-#define t5 $13
-#define t6 $14 
-#define t7 $15
-#define t8 $24
-#define t9 $25
-#define ra $31         
-
-#ifdef FFI_MIPS_O32
-# define REG_L lw
-# define REG_S sw
-# define SUBU  subu
-# define ADDU  addu
-# define SRL   srl
-# define LI    li
-#else /* !FFI_MIPS_O32 */
-# define REG_L ld
-# define REG_S sd
-# define SUBU  dsubu
-# define ADDU  daddu
-# define SRL   dsrl
-# define LI    dli
-# if (_MIPS_SIM==_ABI64)
-#  define LA dla
-#  define EH_FRAME_ALIGN 3
-#  define FDE_ADDR_BYTES .8byte
-# else
-#  define LA la
-#  define EH_FRAME_ALIGN 2
-#  define FDE_ADDR_BYTES .4byte
-# endif /* _MIPS_SIM==_ABI64 */
-#endif /* !FFI_MIPS_O32 */
-#else /* !LIBFFI_ASM */
-# ifdef __GNUC__
-#  ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef unsigned int     ffi_arg __attribute__((__mode__(__SI__)));
-typedef signed   int     ffi_sarg __attribute__((__mode__(__SI__)));
-#else
-/* N32 and N64 frames have 64bit integer args */
-typedef unsigned int     ffi_arg __attribute__((__mode__(__DI__)));
-typedef signed   int     ffi_sarg __attribute__((__mode__(__DI__)));
-#  endif
-# else
-#  ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef __uint32_t ffi_arg;
-typedef __int32_t ffi_sarg;
-#  else
-/* N32 and N64 frames have 64bit integer args */
-typedef __uint64_t ffi_arg;
-typedef __int64_t ffi_sarg;
-#  endif
-# endif /* __GNUC__ */
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_O32,
-  FFI_N32,
-  FFI_N64,
-  FFI_O32_SOFT_FLOAT,
-  FFI_N32_SOFT_FLOAT,
-  FFI_N64_SOFT_FLOAT,
-  FFI_LAST_ABI,
-
-#ifdef FFI_MIPS_O32
-#ifdef __mips_soft_float
-  FFI_DEFAULT_ABI = FFI_O32_SOFT_FLOAT
-#else
-  FFI_DEFAULT_ABI = FFI_O32
-#endif
-#else
-# if _MIPS_SIM==_ABI64
-#  ifdef __mips_soft_float
-  FFI_DEFAULT_ABI = FFI_N64_SOFT_FLOAT
-#  else
-  FFI_DEFAULT_ABI = FFI_N64
-#  endif
-# else
-#  ifdef __mips_soft_float
-  FFI_DEFAULT_ABI = FFI_N32_SOFT_FLOAT
-#  else
-  FFI_DEFAULT_ABI = FFI_N32
-#  endif
-# endif
-#endif
-} ffi_abi;
-
-#define FFI_EXTRA_CIF_FIELDS unsigned rstruct_flag
-#endif /* !LIBFFI_ASM */
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if defined(FFI_MIPS_O32)
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 20
-#else
-/* N32/N64. */
-# define FFI_CLOSURES 1
-#if _MIPS_SIM==_ABI64
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#define FFI_TRAMPOLINE_SIZE 20
-#endif
-#endif /* FFI_MIPS_O32 */
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/moxie/ffitarget.h b/.pc/ffitarget-include-fix/src/moxie/ffitarget.h
deleted file mode 100644 (file)
index 2a9d954..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 2009 Anthony Green
-   Target configuration macros for Moxie
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_EABI,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_EABI
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 0
-#define FFI_NATIVE_RAW_API 0
-
-/* Trampolines are 5 4-byte instructions long.  */
-#define FFI_TRAMPOLINE_SIZE (5*4)
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/pa/ffitarget.h b/.pc/ffitarget-include-fix/src/pa/ffitarget.h
deleted file mode 100644 (file)
index efa2f4e..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for hppa.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-
-#ifdef PA_LINUX
-  FFI_PA32,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_PA32
-#endif
-
-#ifdef PA_HPUX
-  FFI_PA32,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_PA32
-#endif
-
-#ifdef PA64_HPUX
-#error "PA64_HPUX FFI is not yet implemented"
-  FFI_PA64,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_PA64
-#endif
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-#ifdef PA_LINUX
-#define FFI_TRAMPOLINE_SIZE 32
-#else
-#define FFI_TRAMPOLINE_SIZE 40
-#endif
-
-#define FFI_TYPE_SMALL_STRUCT2 -1
-#define FFI_TYPE_SMALL_STRUCT3 -2
-#define FFI_TYPE_SMALL_STRUCT4 -3
-#define FFI_TYPE_SMALL_STRUCT5 -4
-#define FFI_TYPE_SMALL_STRUCT6 -5
-#define FFI_TYPE_SMALL_STRUCT7 -6
-#define FFI_TYPE_SMALL_STRUCT8 -7
-#endif
diff --git a/.pc/ffitarget-include-fix/src/powerpc/ffitarget.h b/.pc/ffitarget-include-fix/src/powerpc/ffitarget.h
deleted file mode 100644 (file)
index 820c482..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Copyright (C) 2007, 2008, 2010 Free Software Foundation, Inc
-   Target configuration macros for PowerPC.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#if defined (POWERPC) && defined (__powerpc64__)       /* linux64 */
-#ifndef POWERPC64
-#define POWERPC64
-#endif
-#elif defined (POWERPC_DARWIN) && defined (__ppc64__)  /* Darwin64 */
-#ifndef POWERPC64
-#define POWERPC64
-#endif
-#ifndef POWERPC_DARWIN64
-#define POWERPC_DARWIN64
-#endif
-#elif defined (POWERPC_AIX) && defined (__64BIT__)     /* AIX64 */
-#ifndef POWERPC64
-#define POWERPC64
-#endif
-#endif
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-
-#ifdef POWERPC
-  FFI_SYSV,
-  FFI_GCC_SYSV,
-  FFI_LINUX64,
-  FFI_LINUX,
-  FFI_LINUX_SOFT_FLOAT,
-# if defined(POWERPC64)
-  FFI_DEFAULT_ABI = FFI_LINUX64,
-# elif defined(__NO_FPRS__)
-  FFI_DEFAULT_ABI = FFI_LINUX_SOFT_FLOAT,
-# elif (__LDBL_MANT_DIG__ == 106)
-  FFI_DEFAULT_ABI = FFI_LINUX,
-# else
-  FFI_DEFAULT_ABI = FFI_GCC_SYSV,
-# endif
-#endif
-
-#ifdef POWERPC_AIX
-  FFI_AIX,
-  FFI_DARWIN,
-  FFI_DEFAULT_ABI = FFI_AIX,
-#endif
-
-#ifdef POWERPC_DARWIN
-  FFI_AIX,
-  FFI_DARWIN,
-  FFI_DEFAULT_ABI = FFI_DARWIN,
-#endif
-
-#ifdef POWERPC_FREEBSD
-  FFI_SYSV,
-  FFI_GCC_SYSV,
-  FFI_LINUX64,
-  FFI_LINUX,
-  FFI_LINUX_SOFT_FLOAT,
-  FFI_DEFAULT_ABI = FFI_SYSV,
-#endif
-
-  FFI_LAST_ABI
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-/* For additional types like the below, take care about the order in
-   ppc_closures.S. They must follow after the FFI_TYPE_LAST.  */
-
-/* Needed for soft-float long-double-128 support.  */
-#define FFI_TYPE_UINT128 (FFI_TYPE_LAST + 1)
-
-/* Needed for FFI_SYSV small structure returns.
-   We use two flag bits, (FLAG_SYSV_SMST_R3, FLAG_SYSV_SMST_R4) which are
-   defined in ffi.c, to determine the exact return type and its size.  */
-#define FFI_SYSV_TYPE_SMALL_STRUCT (FFI_TYPE_LAST + 2)
-
-#if defined(POWERPC64) || defined(POWERPC_AIX)
-#  if defined(POWERPC_DARWIN64)
-#    define FFI_TRAMPOLINE_SIZE 48
-#  else
-#    define FFI_TRAMPOLINE_SIZE 24
-#  endif
-#else /* POWERPC || POWERPC_AIX */
-#  define FFI_TRAMPOLINE_SIZE 40
-#endif
-
-#ifndef LIBFFI_ASM
-#if defined(POWERPC_DARWIN) || defined(POWERPC_AIX)
-struct ffi_aix_trampoline_struct {
-    void * code_pointer;       /* Pointer to ffi_closure_ASM */
-    void * toc;                        /* TOC */
-    void * static_chain;       /* Pointer to closure */
-};
-#endif
-#endif
-
-#endif
diff --git a/.pc/ffitarget-include-fix/src/s390/ffitarget.h b/.pc/ffitarget-include-fix/src/s390/ffitarget.h
deleted file mode 100644 (file)
index a262691..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for S390.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#if defined (__s390x__)
-#ifndef S390X
-#define S390X
-#endif
-#endif
-
-/* ---- System specific configurations ----------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_SYSV
-} ffi_abi;
-#endif
-
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#ifdef S390X
-#define FFI_TRAMPOLINE_SIZE 32
-#else
-#define FFI_TRAMPOLINE_SIZE 16
-#endif
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/sh/ffitarget.h b/.pc/ffitarget-include-fix/src/sh/ffitarget.h
deleted file mode 100644 (file)
index 4f1f639..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for SuperH.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_SYSV
-} ffi_abi;
-#endif
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 16
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/sh64/ffitarget.h b/.pc/ffitarget-include-fix/src/sh64/ffitarget.h
deleted file mode 100644 (file)
index d935b89..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for SuperH - SHmedia.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_SYSV
-} ffi_abi;
-
-#define FFI_EXTRA_CIF_FIELDS long long flags2
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 32
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/sparc/ffitarget.h b/.pc/ffitarget-include-fix/src/sparc/ffitarget.h
deleted file mode 100644 (file)
index 51275cb..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for SPARC.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#if defined(__arch64__) || defined(__sparcv9)
-#ifndef SPARC64
-#define SPARC64
-#endif
-#endif
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_V8,
-  FFI_V8PLUS,
-  FFI_V9,
-  FFI_LAST_ABI,
-#ifdef SPARC64
-  FFI_DEFAULT_ABI = FFI_V9
-#else
-  FFI_DEFAULT_ABI = FFI_V8
-#endif
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-#ifdef SPARC64
-#define FFI_TRAMPOLINE_SIZE 24
-#else
-#define FFI_TRAMPOLINE_SIZE 16
-#endif
-
-#endif
-
diff --git a/.pc/ffitarget-include-fix/src/x86/ffitarget.h b/.pc/ffitarget-include-fix/src/x86/ffitarget.h
deleted file mode 100644 (file)
index 7c2b588..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 2012  Anthony Green
-                 Copyright (c) 1996-2003, 2010  Red Hat, Inc.
-                 Copyright (C) 2008  Free Software Foundation, Inc.
-
-   Target configuration macros for x86 and x86-64.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-/* For code common to all platforms on x86 and x86_64. */
-#define X86_ANY
-
-#if defined (X86_64) && defined (__i386__)
-#undef X86_64
-#define X86
-#endif
-
-#ifdef X86_WIN64
-#define FFI_SIZEOF_ARG 8
-#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */
-#endif
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-#ifdef X86_WIN64
-#ifdef _MSC_VER
-typedef unsigned __int64       ffi_arg;
-typedef __int64                ffi_sarg;
-#else
-typedef unsigned long long     ffi_arg;
-typedef long long              ffi_sarg;
-#endif
-#else
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-#endif
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-
-  /* ---- Intel x86 Win32 ---------- */
-#ifdef X86_WIN32
-  FFI_SYSV,
-  FFI_STDCALL,
-  FFI_THISCALL,
-  FFI_FASTCALL,
-  FFI_LAST_ABI,
-  /* TODO: Add fastcall support for the sake of completeness */
-  FFI_DEFAULT_ABI = FFI_SYSV
-
-#elif defined(X86_WIN64)
-  FFI_WIN64,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_WIN64
-
-#else
-  /* ---- Intel x86 and AMD x86-64 - */
-  FFI_SYSV,
-  FFI_UNIX64,   /* Unix variants all use the same ABI for x86-64  */
-  FFI_LAST_ABI,
-#if defined(__i386__) || defined(__i386)
-  FFI_DEFAULT_ABI = FFI_SYSV
-#else
-  FFI_DEFAULT_ABI = FFI_UNIX64
-#endif
-#endif
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
-#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
-#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
-
-#if defined (X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
-#define FFI_TRAMPOLINE_SIZE 24
-#define FFI_NATIVE_RAW_API 0
-#else
-#ifdef X86_WIN32
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#ifdef X86_WIN64
-#define FFI_TRAMPOLINE_SIZE 29
-#define FFI_NATIVE_RAW_API 0
-#define FFI_NO_RAW_API 1
-#else
-#define FFI_TRAMPOLINE_SIZE 10
-#endif
-#endif
-#ifndef X86_WIN64
-#define FFI_NATIVE_RAW_API 1   /* x86 has native raw api support */
-#endif
-#endif
-
-#endif
-
diff --git a/.pc/fix-grammar/.timestamp b/.pc/fix-grammar/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/fix-grammar/ChangeLog b/.pc/fix-grammar/ChangeLog
deleted file mode 100644 (file)
index 458a629..0000000
+++ /dev/null
@@ -1,4569 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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  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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/fix-grammar/src/powerpc/asm.h b/.pc/fix-grammar/src/powerpc/asm.h
deleted file mode 100644 (file)
index e86e6b0..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/* -----------------------------------------------------------------------
-   asm.h - Copyright (c) 1998 Geoffrey Keating
-
-   PowerPC Assembly glue.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
-   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-   OTHER DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#define ASM_GLOBAL_DIRECTIVE .globl
-
-
-#define C_SYMBOL_NAME(name) name
-/* Macro for a label.  */
-#ifdef __STDC__
-#define C_LABEL(name)          name##:
-#else
-#define C_LABEL(name)          name/**/:
-#endif
-
-/* This seems to always be the case on PPC.  */
-#define ALIGNARG(log2) log2
-/* For ELF we need the `.type' directive to make shared libs work right.  */
-#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
-#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
-
-/* If compiled for profiling, call `_mcount' at the start of each function.  */
-#ifdef PROF
-/* The mcount code relies on a the return address being on the stack
-   to locate our caller and so it can restore it; so store one just
-   for its benefit.  */
-#ifdef PIC
-#define CALL_MCOUNT                                                          \
-  .pushsection;                                                                      \
-  .section ".data";                                                          \
-  .align ALIGNARG(2);                                                        \
-0:.long 0;                                                                   \
-  .previous;                                                                 \
-  mflr  %r0;                                                                 \
-  stw   %r0,4(%r1);                                                          \
-  bl    _GLOBAL_OFFSET_TABLE_@local-4;                                       \
-  mflr  %r11;                                                                \
-  lwz   %r0,0b@got(%r11);                                                    \
-  bl    JUMPTARGET(_mcount);
-#else  /* PIC */
-#define CALL_MCOUNT                                                          \
-  .section ".data";                                                          \
-  .align ALIGNARG(2);                                                        \
-0:.long 0;                                                                   \
-  .previous;                                                                 \
-  mflr  %r0;                                                                 \
-  lis   %r11,0b@ha;                                                          \
-  stw   %r0,4(%r1);                                                          \
-  addi  %r0,%r11,0b@l;                                                       \
-  bl    JUMPTARGET(_mcount);
-#endif /* PIC */
-#else  /* PROF */
-#define CALL_MCOUNT            /* Do nothing.  */
-#endif /* PROF */
-
-#define        ENTRY(name)                                                           \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);                                  \
-  ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)                         \
-  .align ALIGNARG(2);                                                        \
-  C_LABEL(name)                                                                      \
-  CALL_MCOUNT
-
-#define EALIGN_W_0  /* No words to insert.  */
-#define EALIGN_W_1  nop
-#define EALIGN_W_2  nop;nop
-#define EALIGN_W_3  nop;nop;nop
-#define EALIGN_W_4  EALIGN_W_3;nop
-#define EALIGN_W_5  EALIGN_W_4;nop
-#define EALIGN_W_6  EALIGN_W_5;nop
-#define EALIGN_W_7  EALIGN_W_6;nop
-
-/* EALIGN is like ENTRY, but does alignment to 'words'*4 bytes
-   past a 2^align boundary.  */
-#ifdef PROF
-#define EALIGN(name, alignt, words)                                          \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);                                  \
-  ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)                         \
-  .align ALIGNARG(2);                                                        \
-  C_LABEL(name)                                                                      \
-  CALL_MCOUNT                                                                \
-  b 0f;                                                                              \
-  .align ALIGNARG(alignt);                                                   \
-  EALIGN_W_##words;                                                          \
-  0:
-#else /* PROF */
-#define EALIGN(name, alignt, words)                                          \
-  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name);                                  \
-  ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function)                         \
-  .align ALIGNARG(alignt);                                                   \
-  EALIGN_W_##words;                                                          \
-  C_LABEL(name)
-#endif
-
-#define END(name)                                                            \
-  ASM_SIZE_DIRECTIVE(name)
-
-#ifdef PIC
-#define JUMPTARGET(name) name##@plt
-#else
-#define JUMPTARGET(name) name
-#endif
-
-/* Local labels stripped out by the linker.  */
-#define L(x) .L##x
diff --git a/.pc/fix-ppc32/.timestamp b/.pc/fix-ppc32/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/fix-ppc32/ChangeLog b/.pc/fix-ppc32/ChangeLog
deleted file mode 100644 (file)
index 9f8a59a..0000000
+++ /dev/null
@@ -1,4663 +0,0 @@
-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  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-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-02-15  Anthony Green  <green@moxielogic.com>
-
-       * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
-       * configure: Rebuilt.
-
-2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2011-02-13  Anthony Green  <green@moxielogic.com>
-
-       * include/ffi_common.h (UNLIKELY, LIKELY): Define.
-       * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
-       * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
-       * src/prep_cif.c (initialize_aggregate): Convert assertion into
-       FFI_BAD_TYPEDEF return.  Initialize arg size and alignment to 0.
-
-       * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-       * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11  Anthony Green  <green@moxielogic.com>
-
-       * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-
-2011-02-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/fix-ppc32/src/powerpc/ffi.c b/.pc/fix-ppc32/src/powerpc/ffi.c
deleted file mode 100644 (file)
index dd1594e..0000000
+++ /dev/null
@@ -1,1445 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (C) 2011 Anthony Green
-           Copyright (C) 2008 Red Hat, Inc
-           Copyright (C) 2007, 2008 Free Software Foundation, Inc
-          Copyright (c) 1998 Geoffrey Keating
-
-   PowerPC Foreign Function Interface
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
-   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-   OTHER DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-
-
-extern void ffi_closure_SYSV (void);
-extern void FFI_HIDDEN ffi_closure_LINUX64 (void);
-
-enum {
-  /* The assembly depends on these exact flags.  */
-  FLAG_RETURNS_SMST    = 1 << (31-31), /* Used for FFI_SYSV small structs.  */
-  FLAG_RETURNS_NOTHING  = 1 << (31-30), /* These go in cr7 */
-  FLAG_RETURNS_FP       = 1 << (31-29),
-  FLAG_RETURNS_64BITS   = 1 << (31-28),
-
-  FLAG_RETURNS_128BITS  = 1 << (31-27), /* cr6  */
-  FLAG_SYSV_SMST_R4     = 1 << (31-26), /* use r4 for FFI_SYSV 8 byte
-                                          structs.  */
-  FLAG_SYSV_SMST_R3     = 1 << (31-25), /* use r3 for FFI_SYSV 4 byte
-                                          structs.  */
-  /* Bits (31-24) through (31-19) store shift value for SMST */
-
-  FLAG_ARG_NEEDS_COPY   = 1 << (31- 7),
-  FLAG_FP_ARGUMENTS     = 1 << (31- 6), /* cr1.eq; specified by ABI */
-  FLAG_4_GPR_ARGUMENTS  = 1 << (31- 5),
-  FLAG_RETVAL_REFERENCE = 1 << (31- 4)
-};
-
-/* About the SYSV ABI.  */
-unsigned int NUM_GPR_ARG_REGISTERS = 8;
-#ifndef __NO_FPRS__
-unsigned int NUM_FPR_ARG_REGISTERS = 8;
-#else
-unsigned int NUM_FPR_ARG_REGISTERS = 0;
-#endif
-
-enum { ASM_NEEDS_REGISTERS = 4 };
-
-/* ffi_prep_args_SYSV is called by the assembly routine once stack space
-   has been allocated for the function's arguments.
-
-   The stack layout we want looks like this:
-
-   |   Return address from ffi_call_SYSV 4bytes        |       higher addresses
-   |--------------------------------------------|
-   |   Previous backchain pointer      4       |       stack pointer here
-   |--------------------------------------------|<+ <<<        on entry to
-   |   Saved r28-r31                   4*4     | |     ffi_call_SYSV
-   |--------------------------------------------| |
-   |   GPR registers r3-r10            8*4     | |     ffi_call_SYSV
-   |--------------------------------------------| |
-   |   FPR registers f1-f8 (optional)  8*8     | |
-   |--------------------------------------------| |    stack   |
-   |   Space for copied structures             | |     grows   |
-   |--------------------------------------------| |    down    V
-   |   Parameters that didn't fit in registers  | |
-   |--------------------------------------------| |    lower addresses
-   |   Space for callee's LR           4       | |
-   |--------------------------------------------| |    stack pointer here
-   |   Current backchain pointer       4       |-/     during
-   |--------------------------------------------|   <<<        ffi_call_SYSV
-
-*/
-
-void
-ffi_prep_args_SYSV (extended_cif *ecif, unsigned *const stack)
-{
-  const unsigned bytes = ecif->cif->bytes;
-  const unsigned flags = ecif->cif->flags;
-
-  typedef union {
-    char *c;
-    unsigned *u;
-    long long *ll;
-    float *f;
-    double *d;
-  } valp;
-
-  /* 'stacktop' points at the previous backchain pointer.  */
-  valp stacktop;
-
-  /* 'gpr_base' points at the space for gpr3, and grows upwards as
-     we use GPR registers.  */
-  valp gpr_base;
-  int intarg_count;
-
-  /* 'fpr_base' points at the space for fpr1, and grows upwards as
-     we use FPR registers.  */
-  valp fpr_base;
-  int fparg_count;
-
-  /* 'copy_space' grows down as we put structures in it.  It should
-     stay 16-byte aligned.  */
-  valp copy_space;
-
-  /* 'next_arg' grows up as we put parameters in it.  */
-  valp next_arg;
-
-  int i, ii MAYBE_UNUSED;
-  ffi_type **ptr;
-  double double_tmp;
-  union {
-    void **v;
-    char **c;
-    signed char **sc;
-    unsigned char **uc;
-    signed short **ss;
-    unsigned short **us;
-    unsigned int **ui;
-    long long **ll;
-    float **f;
-    double **d;
-  } p_argv;
-  size_t struct_copy_size;
-  unsigned gprvalue;
-
-  if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-    NUM_FPR_ARG_REGISTERS = 0;
-
-  stacktop.c = (char *) stack + bytes;
-  gpr_base.u = stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS;
-  intarg_count = 0;
-  fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS;
-  fparg_count = 0;
-  copy_space.c = ((flags & FLAG_FP_ARGUMENTS) ? fpr_base.c : gpr_base.c);
-  next_arg.u = stack + 2;
-
-  /* Check that everything starts aligned properly.  */
-  FFI_ASSERT (((unsigned) (char *) stack & 0xF) == 0);
-  FFI_ASSERT (((unsigned) copy_space.c & 0xF) == 0);
-  FFI_ASSERT (((unsigned) stacktop.c & 0xF) == 0);
-  FFI_ASSERT ((bytes & 0xF) == 0);
-  FFI_ASSERT (copy_space.c >= next_arg.c);
-
-  /* Deal with return values that are actually pass-by-reference.  */
-  if (flags & FLAG_RETVAL_REFERENCE)
-    {
-      *gpr_base.u++ = (unsigned long) (char *) ecif->rvalue;
-      intarg_count++;
-    }
-
-  /* Now for the arguments.  */
-  p_argv.v = ecif->avalue;
-  for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
-       i > 0;
-       i--, ptr++, p_argv.v++)
-    {
-      switch ((*ptr)->type)
-       {
-       case FFI_TYPE_FLOAT:
-         /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32.  */
-         if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_float_prep;
-         double_tmp = **p_argv.f;
-         if (fparg_count >= NUM_FPR_ARG_REGISTERS)
-           {
-             *next_arg.f = (float) double_tmp;
-             next_arg.u += 1;
-             intarg_count++;
-           }
-         else
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64.  */
-         if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_double_prep;
-         double_tmp = **p_argv.d;
-
-         if (fparg_count >= NUM_FPR_ARG_REGISTERS)
-           {
-             if (intarg_count >= NUM_GPR_ARG_REGISTERS
-                 && intarg_count % 2 != 0)
-               {
-                 intarg_count++;
-                 next_arg.u++;
-               }
-             *next_arg.d = double_tmp;
-             next_arg.u += 2;
-           }
-         else
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         if ((ecif->cif->abi != FFI_LINUX)
-               && (ecif->cif->abi != FFI_LINUX_SOFT_FLOAT))
-           goto do_struct;
-         /* The soft float ABI for long doubles works like this,
-            a long double is passed in four consecutive gprs if available.
-            A maximum of 2 long doubles can be passed in gprs.
-            If we do not have 4 gprs left, the long double is passed on the
-            stack, 4-byte aligned.  */
-         if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-           {
-             unsigned int int_tmp = (*p_argv.ui)[0];
-             if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3)
-               {
-                 if (intarg_count < NUM_GPR_ARG_REGISTERS)
-                   intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
-                 *next_arg.u = int_tmp;
-                 next_arg.u++;
-                 for (ii = 1; ii < 4; ii++)
-                   {
-                     int_tmp = (*p_argv.ui)[ii];
-                     *next_arg.u = int_tmp;
-                     next_arg.u++;
-                   }
-               }
-             else
-               {
-                 *gpr_base.u++ = int_tmp;
-                 for (ii = 1; ii < 4; ii++)
-                   {
-                     int_tmp = (*p_argv.ui)[ii];
-                     *gpr_base.u++ = int_tmp;
-                   }
-               }
-             intarg_count +=4;
-           }
-         else
-           {
-             double_tmp = (*p_argv.d)[0];
-
-             if (fparg_count >= NUM_FPR_ARG_REGISTERS - 1)
-               {
-                 if (intarg_count >= NUM_GPR_ARG_REGISTERS
-                     && intarg_count % 2 != 0)
-                   {
-                     intarg_count++;
-                     next_arg.u++;
-                   }
-                 *next_arg.d = double_tmp;
-                 next_arg.u += 2;
-                 double_tmp = (*p_argv.d)[1];
-                 *next_arg.d = double_tmp;
-                 next_arg.u += 2;
-               }
-             else
-               {
-                 *fpr_base.d++ = double_tmp;
-                 double_tmp = (*p_argv.d)[1];
-                 *fpr_base.d++ = double_tmp;
-               }
-
-             fparg_count += 2;
-             FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-           }
-         break;
-#endif
-
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-       soft_double_prep:
-         if (intarg_count == NUM_GPR_ARG_REGISTERS-1)
-           intarg_count++;
-         if (intarg_count >= NUM_GPR_ARG_REGISTERS)
-           {
-             if (intarg_count % 2 != 0)
-               {
-                 intarg_count++;
-                 next_arg.u++;
-               }
-             *next_arg.ll = **p_argv.ll;
-             next_arg.u += 2;
-           }
-         else
-           {
-             /* whoops: abi states only certain register pairs
-              * can be used for passing long long int
-              * specifically (r3,r4), (r5,r6), (r7,r8),
-              * (r9,r10) and if next arg is long long but
-              * not correct starting register of pair then skip
-              * until the proper starting register
-              */
-             if (intarg_count % 2 != 0)
-               {
-                 intarg_count ++;
-                 gpr_base.u++;
-               }
-             *gpr_base.ll++ = **p_argv.ll;
-           }
-         intarg_count += 2;
-         break;
-
-       case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       do_struct:
-#endif
-         struct_copy_size = ((*ptr)->size + 15) & ~0xF;
-         copy_space.c -= struct_copy_size;
-         memcpy (copy_space.c, *p_argv.c, (*ptr)->size);
-
-         gprvalue = (unsigned long) copy_space.c;
-
-         FFI_ASSERT (copy_space.c > next_arg.c);
-         FFI_ASSERT (flags & FLAG_ARG_NEEDS_COPY);
-         goto putgpr;
-
-       case FFI_TYPE_UINT8:
-         gprvalue = **p_argv.uc;
-         goto putgpr;
-       case FFI_TYPE_SINT8:
-         gprvalue = **p_argv.sc;
-         goto putgpr;
-       case FFI_TYPE_UINT16:
-         gprvalue = **p_argv.us;
-         goto putgpr;
-       case FFI_TYPE_SINT16:
-         gprvalue = **p_argv.ss;
-         goto putgpr;
-
-       case FFI_TYPE_INT:
-       case FFI_TYPE_UINT32:
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_POINTER:
-       soft_float_prep:
-
-         gprvalue = **p_argv.ui;
-
-       putgpr:
-         if (intarg_count >= NUM_GPR_ARG_REGISTERS)
-           *next_arg.u++ = gprvalue;
-         else
-           *gpr_base.u++ = gprvalue;
-         intarg_count++;
-         break;
-       }
-    }
-
-  /* Check that we didn't overrun the stack...  */
-  FFI_ASSERT (copy_space.c >= next_arg.c);
-  FFI_ASSERT (gpr_base.u <= stacktop.u - ASM_NEEDS_REGISTERS);
-  FFI_ASSERT (fpr_base.u
-             <= stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS);
-  FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4);
-}
-
-/* About the LINUX64 ABI.  */
-enum {
-  NUM_GPR_ARG_REGISTERS64 = 8,
-  NUM_FPR_ARG_REGISTERS64 = 13
-};
-enum { ASM_NEEDS_REGISTERS64 = 4 };
-
-/* ffi_prep_args64 is called by the assembly routine once stack space
-   has been allocated for the function's arguments.
-
-   The stack layout we want looks like this:
-
-   |   Ret addr from ffi_call_LINUX64  8bytes  |       higher addresses
-   |--------------------------------------------|
-   |   CR save area                    8bytes  |
-   |--------------------------------------------|
-   |   Previous backchain pointer      8       |       stack pointer here
-   |--------------------------------------------|<+ <<<        on entry to
-   |   Saved r28-r31                   4*8     | |     ffi_call_LINUX64
-   |--------------------------------------------| |
-   |   GPR registers r3-r10            8*8     | |
-   |--------------------------------------------| |
-   |   FPR registers f1-f13 (optional) 13*8    | |
-   |--------------------------------------------| |
-   |   Parameter save area                     | |
-   |--------------------------------------------| |
-   |   TOC save area                   8       | |
-   |--------------------------------------------| |    stack   |
-   |   Linker doubleword               8       | |     grows   |
-   |--------------------------------------------| |    down    V
-   |   Compiler doubleword             8       | |
-   |--------------------------------------------| |    lower addresses
-   |   Space for callee's LR           8       | |
-   |--------------------------------------------| |
-   |   CR save area                    8       | |
-   |--------------------------------------------| |    stack pointer here
-   |   Current backchain pointer       8       |-/     during
-   |--------------------------------------------|   <<<        ffi_call_LINUX64
-
-*/
-
-void FFI_HIDDEN
-ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
-{
-  const unsigned long bytes = ecif->cif->bytes;
-  const unsigned long flags = ecif->cif->flags;
-
-  typedef union {
-    char *c;
-    unsigned long *ul;
-    float *f;
-    double *d;
-  } valp;
-
-  /* 'stacktop' points at the previous backchain pointer.  */
-  valp stacktop;
-
-  /* 'next_arg' points at the space for gpr3, and grows upwards as
-     we use GPR registers, then continues at rest.  */
-  valp gpr_base;
-  valp gpr_end;
-  valp rest;
-  valp next_arg;
-
-  /* 'fpr_base' points at the space for fpr3, and grows upwards as
-     we use FPR registers.  */
-  valp fpr_base;
-  int fparg_count;
-
-  int i, words;
-  ffi_type **ptr;
-  double double_tmp;
-  union {
-    void **v;
-    char **c;
-    signed char **sc;
-    unsigned char **uc;
-    signed short **ss;
-    unsigned short **us;
-    signed int **si;
-    unsigned int **ui;
-    unsigned long **ul;
-    float **f;
-    double **d;
-  } p_argv;
-  unsigned long gprvalue;
-
-  stacktop.c = (char *) stack + bytes;
-  gpr_base.ul = stacktop.ul - ASM_NEEDS_REGISTERS64 - NUM_GPR_ARG_REGISTERS64;
-  gpr_end.ul = gpr_base.ul + NUM_GPR_ARG_REGISTERS64;
-  rest.ul = stack + 6 + NUM_GPR_ARG_REGISTERS64;
-  fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS64;
-  fparg_count = 0;
-  next_arg.ul = gpr_base.ul;
-
-  /* Check that everything starts aligned properly.  */
-  FFI_ASSERT (((unsigned long) (char *) stack & 0xF) == 0);
-  FFI_ASSERT (((unsigned long) stacktop.c & 0xF) == 0);
-  FFI_ASSERT ((bytes & 0xF) == 0);
-
-  /* Deal with return values that are actually pass-by-reference.  */
-  if (flags & FLAG_RETVAL_REFERENCE)
-    *next_arg.ul++ = (unsigned long) (char *) ecif->rvalue;
-
-  /* Now for the arguments.  */
-  p_argv.v = ecif->avalue;
-  for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
-       i > 0;
-       i--, ptr++, p_argv.v++)
-    {
-      switch ((*ptr)->type)
-       {
-       case FFI_TYPE_FLOAT:
-         double_tmp = **p_argv.f;
-         *next_arg.f = (float) double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         double_tmp = **p_argv.d;
-         *next_arg.d = double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         double_tmp = (*p_argv.d)[0];
-         *next_arg.d = double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         double_tmp = (*p_argv.d)[1];
-         *next_arg.d = double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (__LDBL_MANT_DIG__ == 106);
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-#endif
-
-       case FFI_TYPE_STRUCT:
-         words = ((*ptr)->size + 7) / 8;
-         if (next_arg.ul >= gpr_base.ul && next_arg.ul + words > gpr_end.ul)
-           {
-             size_t first = gpr_end.c - next_arg.c;
-             memcpy (next_arg.c, *p_argv.c, first);
-             memcpy (rest.c, *p_argv.c + first, (*ptr)->size - first);
-             next_arg.c = rest.c + words * 8 - first;
-           }
-         else
-           {
-             char *where = next_arg.c;
-
-             /* Structures with size less than eight bytes are passed
-                left-padded.  */
-             if ((*ptr)->size < 8)
-               where += 8 - (*ptr)->size;
-
-             memcpy (where, *p_argv.c, (*ptr)->size);
-             next_arg.ul += words;
-             if (next_arg.ul == gpr_end.ul)
-               next_arg.ul = rest.ul;
-           }
-         break;
-
-       case FFI_TYPE_UINT8:
-         gprvalue = **p_argv.uc;
-         goto putgpr;
-       case FFI_TYPE_SINT8:
-         gprvalue = **p_argv.sc;
-         goto putgpr;
-       case FFI_TYPE_UINT16:
-         gprvalue = **p_argv.us;
-         goto putgpr;
-       case FFI_TYPE_SINT16:
-         gprvalue = **p_argv.ss;
-         goto putgpr;
-       case FFI_TYPE_UINT32:
-         gprvalue = **p_argv.ui;
-         goto putgpr;
-       case FFI_TYPE_INT:
-       case FFI_TYPE_SINT32:
-         gprvalue = **p_argv.si;
-         goto putgpr;
-
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_POINTER:
-         gprvalue = **p_argv.ul;
-       putgpr:
-         *next_arg.ul++ = gprvalue;
-         if (next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         break;
-       }
-    }
-
-  FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS
-             || (next_arg.ul >= gpr_base.ul
-                 && next_arg.ul <= gpr_base.ul + 4));
-}
-
-
-
-/* Perform machine dependent cif processing */
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
-  /* All this is for the SYSV and LINUX64 ABI.  */
-  int i;
-  ffi_type **ptr;
-  unsigned bytes;
-  int fparg_count = 0, intarg_count = 0;
-  unsigned flags = 0;
-  unsigned struct_copy_size = 0;
-  unsigned type = cif->rtype->type;
-  unsigned size = cif->rtype->size;
-
-  if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-    NUM_FPR_ARG_REGISTERS = 0;
-
-  if (cif->abi != FFI_LINUX64)
-    {
-      /* All the machine-independent calculation of cif->bytes will be wrong.
-        Redo the calculation for SYSV.  */
-
-      /* Space for the frame pointer, callee's LR, and the asm's temp regs.  */
-      bytes = (2 + ASM_NEEDS_REGISTERS) * sizeof (int);
-
-      /* Space for the GPR registers.  */
-      bytes += NUM_GPR_ARG_REGISTERS * sizeof (int);
-    }
-  else
-    {
-      /* 64-bit ABI.  */
-
-      /* Space for backchain, CR, LR, cc/ld doubleword, TOC and the asm's temp
-        regs.  */
-      bytes = (6 + ASM_NEEDS_REGISTERS64) * sizeof (long);
-
-      /* Space for the mandatory parm save area and general registers.  */
-      bytes += 2 * NUM_GPR_ARG_REGISTERS64 * sizeof (long);
-    }
-
-  /* Return value handling.  The rules for SYSV are as follows:
-     - 32-bit (or less) integer values are returned in gpr3;
-     - Structures of size <= 4 bytes also returned in gpr3;
-     - 64-bit integer values and structures between 5 and 8 bytes are returned
-     in gpr3 and gpr4;
-     - Single/double FP values are returned in fpr1;
-     - Larger structures are allocated space and a pointer is passed as
-     the first argument.
-     - long doubles (if not equivalent to double) are returned in
-     fpr1,fpr2 for Linux and as for large structs for SysV.
-     For LINUX64:
-     - integer values in gpr3;
-     - Structures/Unions by reference;
-     - Single/double FP values in fpr1, long double in fpr1,fpr2.
-     - soft-float float/doubles are treated as UINT32/UINT64 respectivley.
-     - soft-float long doubles are returned in gpr3-gpr6.  */
-  switch (type)
-    {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-    case FFI_TYPE_LONGDOUBLE:
-      if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX64
-       && cif->abi != FFI_LINUX_SOFT_FLOAT)
-       goto byref;
-      flags |= FLAG_RETURNS_128BITS;
-      /* Fall through.  */
-#endif
-    case FFI_TYPE_DOUBLE:
-      flags |= FLAG_RETURNS_64BITS;
-      /* Fall through.  */
-    case FFI_TYPE_FLOAT:
-      /* With FFI_LINUX_SOFT_FLOAT no fp registers are used.  */
-      if (cif->abi != FFI_LINUX_SOFT_FLOAT)
-       flags |= FLAG_RETURNS_FP;
-      break;
-
-    case FFI_TYPE_UINT64:
-    case FFI_TYPE_SINT64:
-      flags |= FLAG_RETURNS_64BITS;
-      break;
-
-    case FFI_TYPE_STRUCT:
-      if (cif->abi == FFI_SYSV)
-       {
-         /* The final SYSV ABI says that structures smaller or equal 8 bytes
-            are returned in r3/r4. The FFI_GCC_SYSV ABI instead returns them
-            in memory.  */
-
-         /* Treat structs with size <= 8 bytes.  */
-         if (size <= 8)
-           {
-             flags |= FLAG_RETURNS_SMST;
-             /* These structs are returned in r3. We pack the type and the
-                precalculated shift value (needed in the sysv.S) into flags.
-                The same applies for the structs returned in r3/r4.  */
-             if (size <= 4)
-               {
-                 flags |= FLAG_SYSV_SMST_R3;
-                 flags |= 8 * (4 - size) << 8;
-                 break;
-               }
-             /* These structs are returned in r3 and r4. See above.   */
-             if  (size <= 8)
-               {
-                 flags |= FLAG_SYSV_SMST_R3 | FLAG_SYSV_SMST_R4;
-                 flags |= 8 * (8 - size) << 8;
-                 break;
-               }
-           }
-       }
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-    byref:
-#endif
-      intarg_count++;
-      flags |= FLAG_RETVAL_REFERENCE;
-      /* Fall through.  */
-    case FFI_TYPE_VOID:
-      flags |= FLAG_RETURNS_NOTHING;
-      break;
-
-    default:
-      /* Returns 32-bit integer, or similar.  Nothing to do here.  */
-      break;
-    }
-
-  if (cif->abi != FFI_LINUX64)
-    /* The first NUM_GPR_ARG_REGISTERS words of integer arguments, and the
-       first NUM_FPR_ARG_REGISTERS fp arguments, go in registers; the rest
-       goes on the stack.  Structures and long doubles (if not equivalent
-       to double) are passed as a pointer to a copy of the structure.
-       Stuff on the stack needs to keep proper alignment.  */
-    for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-      {
-       switch ((*ptr)->type)
-         {
-         case FFI_TYPE_FLOAT:
-           /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32.  */
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             goto soft_float_cif;
-           fparg_count++;
-           /* floating singles are not 8-aligned on stack */
-           break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         case FFI_TYPE_LONGDOUBLE:
-           if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-             goto do_struct;
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             {
-               if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3
-                 || intarg_count < NUM_GPR_ARG_REGISTERS)
-                 /* A long double in FFI_LINUX_SOFT_FLOAT can use only
-                    a set of four consecutive gprs. If we have not enough,
-                    we have to adjust the intarg_count value.  */
-                 intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
-               intarg_count += 4;
-               break;
-             }
-           else
-             fparg_count++;
-           /* Fall thru */
-#endif
-         case FFI_TYPE_DOUBLE:
-           /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64.  */
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             goto soft_double_cif;
-           fparg_count++;
-           /* If this FP arg is going on the stack, it must be
-              8-byte-aligned.  */
-           if (fparg_count > NUM_FPR_ARG_REGISTERS
-               && intarg_count >= NUM_GPR_ARG_REGISTERS
-               && intarg_count % 2 != 0)
-             intarg_count++;
-           break;
-
-         case FFI_TYPE_UINT64:
-         case FFI_TYPE_SINT64:
-         soft_double_cif:
-           /* 'long long' arguments are passed as two words, but
-              either both words must fit in registers or both go
-              on the stack.  If they go on the stack, they must
-              be 8-byte-aligned.
-
-              Also, only certain register pairs can be used for
-              passing long long int -- specifically (r3,r4), (r5,r6),
-              (r7,r8), (r9,r10).
-           */
-           if (intarg_count == NUM_GPR_ARG_REGISTERS-1
-               || intarg_count % 2 != 0)
-             intarg_count++;
-           intarg_count += 2;
-           break;
-
-         case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         do_struct:
-#endif
-           /* We must allocate space for a copy of these to enforce
-              pass-by-value.  Pad the space up to a multiple of 16
-              bytes (the maximum alignment required for anything under
-              the SYSV ABI).  */
-           struct_copy_size += ((*ptr)->size + 15) & ~0xF;
-           /* Fall through (allocate space for the pointer).  */
-
-         default:
-         soft_float_cif:
-           /* Everything else is passed as a 4-byte word in a GPR, either
-              the object itself or a pointer to it.  */
-           intarg_count++;
-           break;
-         }
-      }
-  else
-    for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-      {
-       switch ((*ptr)->type)
-         {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         case FFI_TYPE_LONGDOUBLE:
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             intarg_count += 4;
-           else
-             {
-               fparg_count += 2;
-               intarg_count += 2;
-             }
-           break;
-#endif
-         case FFI_TYPE_FLOAT:
-         case FFI_TYPE_DOUBLE:
-           fparg_count++;
-           intarg_count++;
-           break;
-
-         case FFI_TYPE_STRUCT:
-           intarg_count += ((*ptr)->size + 7) / 8;
-           break;
-
-         default:
-           /* Everything else is passed as a 8-byte word in a GPR, either
-              the object itself or a pointer to it.  */
-           intarg_count++;
-           break;
-         }
-      }
-
-  if (fparg_count != 0)
-    flags |= FLAG_FP_ARGUMENTS;
-  if (intarg_count > 4)
-    flags |= FLAG_4_GPR_ARGUMENTS;
-  if (struct_copy_size != 0)
-    flags |= FLAG_ARG_NEEDS_COPY;
-
-  if (cif->abi != FFI_LINUX64)
-    {
-      /* Space for the FPR registers, if needed.  */
-      if (fparg_count != 0)
-       bytes += NUM_FPR_ARG_REGISTERS * sizeof (double);
-
-      /* Stack space.  */
-      if (intarg_count > NUM_GPR_ARG_REGISTERS)
-       bytes += (intarg_count - NUM_GPR_ARG_REGISTERS) * sizeof (int);
-      if (fparg_count > NUM_FPR_ARG_REGISTERS)
-       bytes += (fparg_count - NUM_FPR_ARG_REGISTERS) * sizeof (double);
-    }
-  else
-    {
-      /* Space for the FPR registers, if needed.  */
-      if (fparg_count != 0)
-       bytes += NUM_FPR_ARG_REGISTERS64 * sizeof (double);
-
-      /* Stack space.  */
-      if (intarg_count > NUM_GPR_ARG_REGISTERS64)
-       bytes += (intarg_count - NUM_GPR_ARG_REGISTERS64) * sizeof (long);
-    }
-
-  /* The stack space allocated needs to be a multiple of 16 bytes.  */
-  bytes = (bytes + 15) & ~0xF;
-
-  /* Add in the space for the copied structures.  */
-  bytes += struct_copy_size;
-
-  cif->flags = flags;
-  cif->bytes = bytes;
-
-  return FFI_OK;
-}
-
-extern void ffi_call_SYSV(extended_cif *, unsigned, unsigned, unsigned *,
-                         void (*fn)(void));
-extern void FFI_HIDDEN ffi_call_LINUX64(extended_cif *, unsigned long,
-                                       unsigned long, unsigned long *,
-                                       void (*fn)(void));
-
-void
-ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  /* If the return value is a struct and we don't have a return        */
-  /* value address then we need to make one                    */
-
-  if ((rvalue == NULL) && (cif->rtype->type == FFI_TYPE_STRUCT))
-    {
-      ecif.rvalue = alloca(cif->rtype->size);
-    }
-  else
-    ecif.rvalue = rvalue;
-
-
-  switch (cif->abi)
-    {
-#ifndef POWERPC64
-    case FFI_SYSV:
-    case FFI_GCC_SYSV:
-    case FFI_LINUX:
-    case FFI_LINUX_SOFT_FLOAT:
-      ffi_call_SYSV (&ecif, -cif->bytes, cif->flags, ecif.rvalue, fn);
-      break;
-#else
-    case FFI_LINUX64:
-      ffi_call_LINUX64 (&ecif, -(long) cif->bytes, cif->flags, ecif.rvalue, fn);
-      break;
-#endif
-    default:
-      FFI_ASSERT (0);
-      break;
-    }
-}
-
-
-#ifndef POWERPC64
-#define MIN_CACHE_LINE_SIZE 8
-
-static void
-flush_icache (char *wraddr, char *xaddr, int size)
-{
-  int i;
-  for (i = 0; i < size; i += MIN_CACHE_LINE_SIZE)
-    __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;"
-                     : : "r" (xaddr + i), "r" (wraddr + i) : "memory");
-  __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;" "sync;" "isync;"
-                   : : "r"(xaddr + size - 1), "r"(wraddr + size - 1)
-                   : "memory");
-}
-#endif
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure *closure,
-                     ffi_cif *cif,
-                     void (*fun) (ffi_cif *, void *, void **, void *),
-                     void *user_data,
-                     void *codeloc)
-{
-#ifdef POWERPC64
-  void **tramp = (void **) &closure->tramp[0];
-
-  if (cif->abi != FFI_LINUX64)
-    return FFI_BAD_ABI;
-  /* Copy function address and TOC from ffi_closure_LINUX64.  */
-  memcpy (tramp, (char *) ffi_closure_LINUX64, 16);
-  tramp[2] = codeloc;
-#else
-  unsigned int *tramp;
-
-  if (! (cif->abi == FFI_GCC_SYSV || cif->abi == FFI_SYSV))
-    return FFI_BAD_ABI;
-
-  tramp = (unsigned int *) &closure->tramp[0];
-  tramp[0] = 0x7c0802a6;  /*   mflr    r0 */
-  tramp[1] = 0x4800000d;  /*   bl      10 <trampoline_initial+0x10> */
-  tramp[4] = 0x7d6802a6;  /*   mflr    r11 */
-  tramp[5] = 0x7c0803a6;  /*   mtlr    r0 */
-  tramp[6] = 0x800b0000;  /*   lwz     r0,0(r11) */
-  tramp[7] = 0x816b0004;  /*   lwz     r11,4(r11) */
-  tramp[8] = 0x7c0903a6;  /*   mtctr   r0 */
-  tramp[9] = 0x4e800420;  /*   bctr */
-  *(void **) &tramp[2] = (void *) ffi_closure_SYSV; /* function */
-  *(void **) &tramp[3] = codeloc;                   /* context */
-
-  /* Flush the icache.  */
-  flush_icache ((char *)tramp, (char *)codeloc, FFI_TRAMPOLINE_SIZE);
-#endif
-
-  closure->cif = cif;
-  closure->fun = fun;
-  closure->user_data = user_data;
-
-  return FFI_OK;
-}
-
-typedef union
-{
-  float f;
-  double d;
-} ffi_dblfl;
-
-int ffi_closure_helper_SYSV (ffi_closure *, void *, unsigned long *,
-                            ffi_dblfl *, unsigned long *);
-
-/* Basically the trampoline invokes ffi_closure_SYSV, and on
- * entry, r11 holds the address of the closure.
- * After storing the registers that could possibly contain
- * parameters to be passed into the stack frame and setting
- * up space for a return value, ffi_closure_SYSV invokes the
- * following helper function to do most of the work
- */
-
-int
-ffi_closure_helper_SYSV (ffi_closure *closure, void *rvalue,
-                        unsigned long *pgr, ffi_dblfl *pfr,
-                        unsigned long *pst)
-{
-  /* rvalue is the pointer to space for return value in closure assembly */
-  /* pgr is the pointer to where r3-r10 are stored in ffi_closure_SYSV */
-  /* pfr is the pointer to where f1-f8 are stored in ffi_closure_SYSV  */
-  /* pst is the pointer to outgoing parameter stack in original caller */
-
-  void **          avalue;
-  ffi_type **      arg_types;
-  long             i, avn;
-  long             nf;   /* number of floating registers already used */
-  long             ng;   /* number of general registers already used */
-  ffi_cif *        cif;
-  double           temp;
-  unsigned         size;
-
-  cif = closure->cif;
-  avalue = alloca (cif->nargs * sizeof (void *));
-  size = cif->rtype->size;
-
-  nf = 0;
-  ng = 0;
-
-  /* Copy the caller's structure return value address so that the closure
-     returns the data directly to the caller.
-     For FFI_SYSV the result is passed in r3/r4 if the struct size is less
-     or equal 8 bytes.  */
-
-  if ((cif->rtype->type == FFI_TYPE_STRUCT
-       && !((cif->abi == FFI_SYSV) && (size <= 8)))
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-      || (cif->rtype->type == FFI_TYPE_LONGDOUBLE
-         && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-#endif
-      )
-    {
-      rvalue = (void *) *pgr;
-      ng++;
-      pgr++;
-    }
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  /* Grab the addresses of the arguments from the stack frame.  */
-  while (i < avn)
-    {
-      switch (arg_types[i]->type)
-       {
-       case FFI_TYPE_SINT8:
-       case FFI_TYPE_UINT8:
-         /* there are 8 gpr registers used to pass values */
-         if (ng < 8)
-           {
-             avalue[i] = (char *) pgr + 3;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = (char *) pst + 3;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_SINT16:
-       case FFI_TYPE_UINT16:
-         /* there are 8 gpr registers used to pass values */
-         if (ng < 8)
-           {
-             avalue[i] = (char *) pgr + 2;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = (char *) pst + 2;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_UINT32:
-       case FFI_TYPE_POINTER:
-       soft_float_closure:
-         /* there are 8 gpr registers used to pass values */
-         if (ng < 8)
-           {
-             avalue[i] = pgr;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = pst;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       do_struct:
-#endif
-         /* Structs are passed by reference. The address will appear in a
-            gpr if it is one of the first 8 arguments.  */
-         if (ng < 8)
-           {
-             avalue[i] = (void *) *pgr;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = (void *) *pst;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_UINT64:
-       soft_double_closure:
-         /* passing long long ints are complex, they must
-          * be passed in suitable register pairs such as
-          * (r3,r4) or (r5,r6) or (r6,r7), or (r7,r8) or (r9,r10)
-          * and if the entire pair aren't available then the outgoing
-          * parameter stack is used for both but an alignment of 8
-          * must will be kept.  So we must either look in pgr
-          * or pst to find the correct address for this type
-          * of parameter.
-          */
-         if (ng < 7)
-           {
-             if (ng & 0x01)
-               {
-                 /* skip r4, r6, r8 as starting points */
-                 ng++;
-                 pgr++;
-               }
-             avalue[i] = pgr;
-             ng += 2;
-             pgr += 2;
-           }
-         else
-           {
-             if (((long) pst) & 4)
-               pst++;
-             avalue[i] = pst;
-             pst += 2;
-             ng = 8;
-           }
-         break;
-
-       case FFI_TYPE_FLOAT:
-         /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32.  */
-         if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_float_closure;
-         /* unfortunately float values are stored as doubles
-          * in the ffi_closure_SYSV code (since we don't check
-          * the type in that routine).
-          */
-
-         /* there are 8 64bit floating point registers */
-
-         if (nf < 8)
-           {
-             temp = pfr->d;
-             pfr->f = (float) temp;
-             avalue[i] = pfr;
-             nf++;
-             pfr++;
-           }
-         else
-           {
-             /* FIXME? here we are really changing the values
-              * stored in the original calling routines outgoing
-              * parameter stack.  This is probably a really
-              * naughty thing to do but...
-              */
-             avalue[i] = pst;
-             pst += 1;
-           }
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64.  */
-         if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_double_closure;
-         /* On the outgoing stack all values are aligned to 8 */
-         /* there are 8 64bit floating point registers */
-
-         if (nf < 8)
-           {
-             avalue[i] = pfr;
-             nf++;
-             pfr++;
-           }
-         else
-           {
-             if (((long) pst) & 4)
-               pst++;
-             avalue[i] = pst;
-             pst += 2;
-           }
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-           goto do_struct;
-         if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-           { /* Test if for the whole long double, 4 gprs are available.
-                otherwise the stuff ends up on the stack.  */
-             if (ng < 5)
-               {
-                 avalue[i] = pgr;
-                 pgr += 4;
-                 ng += 4;
-               }
-             else
-               {
-                 avalue[i] = pst;
-                 pst += 4;
-                 ng = 8;
-               }
-             break;
-           }
-         if (nf < 7)
-           {
-             avalue[i] = pfr;
-             pfr += 2;
-             nf += 2;
-           }
-         else
-           {
-             if (((long) pst) & 4)
-               pst++;
-             avalue[i] = pst;
-             pst += 4;
-             nf = 8;
-           }
-         break;
-#endif
-
-       default:
-         FFI_ASSERT (0);
-       }
-
-      i++;
-    }
-
-
-  (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell ffi_closure_SYSV how to perform return type promotions.
-     Because the FFI_SYSV ABI returns the structures <= 8 bytes in r3/r4
-     we have to tell ffi_closure_SYSV how to treat them. We combine the base
-     type FFI_SYSV_TYPE_SMALL_STRUCT - 1  with the size of the struct.
-     So a one byte struct gets the return type 16. Return type 1 to 15 are
-     already used and we never have a struct with size zero. That is the reason
-     for the subtraction of 1. See the comment in ffitarget.h about ordering.
-  */
-  if (cif->abi == FFI_SYSV && cif->rtype->type == FFI_TYPE_STRUCT
-      && size <= 8)
-    return (FFI_SYSV_TYPE_SMALL_STRUCT - 1) + size;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-  else if (cif->rtype->type == FFI_TYPE_LONGDOUBLE
-          && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-    return FFI_TYPE_STRUCT;
-#endif
-  /* With FFI_LINUX_SOFT_FLOAT floats and doubles are handled like UINT32
-     respectivley UINT64.  */
-  if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-    {
-      switch (cif->rtype->type)
-       {
-       case FFI_TYPE_FLOAT:
-         return FFI_TYPE_UINT32;
-         break;
-       case FFI_TYPE_DOUBLE:
-         return FFI_TYPE_UINT64;
-         break;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         return FFI_TYPE_UINT128;
-         break;
-#endif
-       default:
-         return cif->rtype->type;
-       }
-    }
-  else
-    {
-      return cif->rtype->type;
-    }
-}
-
-int FFI_HIDDEN ffi_closure_helper_LINUX64 (ffi_closure *, void *,
-                                          unsigned long *, ffi_dblfl *);
-
-int FFI_HIDDEN
-ffi_closure_helper_LINUX64 (ffi_closure *closure, void *rvalue,
-                           unsigned long *pst, ffi_dblfl *pfr)
-{
-  /* rvalue is the pointer to space for return value in closure assembly */
-  /* pst is the pointer to parameter save area
-     (r3-r10 are stored into its first 8 slots by ffi_closure_LINUX64) */
-  /* pfr is the pointer to where f1-f13 are stored in ffi_closure_LINUX64 */
-
-  void **avalue;
-  ffi_type **arg_types;
-  long i, avn;
-  ffi_cif *cif;
-  ffi_dblfl *end_pfr = pfr + NUM_FPR_ARG_REGISTERS64;
-
-  cif = closure->cif;
-  avalue = alloca (cif->nargs * sizeof (void *));
-
-  /* Copy the caller's structure return value address so that the closure
-     returns the data directly to the caller.  */
-  if (cif->rtype->type == FFI_TYPE_STRUCT)
-    {
-      rvalue = (void *) *pst;
-      pst++;
-    }
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  /* Grab the addresses of the arguments from the stack frame.  */
-  while (i < avn)
-    {
-      switch (arg_types[i]->type)
-       {
-       case FFI_TYPE_SINT8:
-       case FFI_TYPE_UINT8:
-         avalue[i] = (char *) pst + 7;
-         pst++;
-         break;
-
-       case FFI_TYPE_SINT16:
-       case FFI_TYPE_UINT16:
-         avalue[i] = (char *) pst + 6;
-         pst++;
-         break;
-
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_UINT32:
-         avalue[i] = (char *) pst + 4;
-         pst++;
-         break;
-
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_POINTER:
-         avalue[i] = pst;
-         pst++;
-         break;
-
-       case FFI_TYPE_STRUCT:
-         /* Structures with size less than eight bytes are passed
-            left-padded.  */
-         if (arg_types[i]->size < 8)
-           avalue[i] = (char *) pst + 8 - arg_types[i]->size;
-         else
-           avalue[i] = pst;
-         pst += (arg_types[i]->size + 7) / 8;
-         break;
-
-       case FFI_TYPE_FLOAT:
-         /* unfortunately float values are stored as doubles
-          * in the ffi_closure_LINUX64 code (since we don't check
-          * the type in that routine).
-          */
-
-         /* there are 13 64bit floating point registers */
-
-         if (pfr < end_pfr)
-           {
-             double temp = pfr->d;
-             pfr->f = (float) temp;
-             avalue[i] = pfr;
-             pfr++;
-           }
-         else
-           avalue[i] = pst;
-         pst++;
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         /* On the outgoing stack all values are aligned to 8 */
-         /* there are 13 64bit floating point registers */
-
-         if (pfr < end_pfr)
-           {
-             avalue[i] = pfr;
-             pfr++;
-           }
-         else
-           avalue[i] = pst;
-         pst++;
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         if (pfr + 1 < end_pfr)
-           {
-             avalue[i] = pfr;
-             pfr += 2;
-           }
-         else
-           {
-             if (pfr < end_pfr)
-               {
-                 /* Passed partly in f13 and partly on the stack.
-                    Move it all to the stack.  */
-                 *pst = *(unsigned long *) pfr;
-                 pfr++;
-               }
-             avalue[i] = pst;
-           }
-         pst += 2;
-         break;
-#endif
-
-       default:
-         FFI_ASSERT (0);
-       }
-
-      i++;
-    }
-
-
-  (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell ffi_closure_LINUX64 how to perform return type promotions.  */
-  return cif->rtype->type;
-}
diff --git a/.pc/fix-xfails/.timestamp b/.pc/fix-xfails/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/fix-xfails/ChangeLog b/.pc/fix-xfails/ChangeLog
deleted file mode 100644 (file)
index d436f80..0000000
+++ /dev/null
@@ -1,4607 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2011-02-09  Anthony Green <green@moxielogic.com>
-
-       * README: Mention ARM iOS.
-
-2011-02-09  Landon Fuller <landonf@macports.org>
-
-       * 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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/fix-xfails/src/prep_cif.c b/.pc/fix-xfails/src/prep_cif.c
deleted file mode 100644 (file)
index f3f835f..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-/* -----------------------------------------------------------------------
-   prep_cif.c - Copyright (c) 2012  Anthony Green
-                Copyright (c) 1996, 1998, 2007  Red Hat, Inc.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-/* Round up to FFI_SIZEOF_ARG. */
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-/* Perform machine independent initialization of aggregate type
-   specifications. */
-
-static ffi_status initialize_aggregate(ffi_type *arg)
-{
-  ffi_type **ptr;
-
-  FFI_ASSERT(arg != NULL);
-
-  FFI_ASSERT(arg->elements != NULL);
-  FFI_ASSERT(arg->size == 0);
-  FFI_ASSERT(arg->alignment == 0);
-
-  ptr = &(arg->elements[0]);
-
-  while ((*ptr) != NULL)
-    {
-      if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
-       return FFI_BAD_TYPEDEF;
-
-      /* Perform a sanity check on the argument type */
-      FFI_ASSERT_VALID_TYPE(*ptr);
-
-      arg->size = ALIGN(arg->size, (*ptr)->alignment);
-      arg->size += (*ptr)->size;
-
-      arg->alignment = (arg->alignment > (*ptr)->alignment) ?
-       arg->alignment : (*ptr)->alignment;
-
-      ptr++;
-    }
-
-  /* Structure size includes tail padding.  This is important for
-     structures that fit in one register on ABIs like the PowerPC64
-     Linux ABI that right justify small structs in a register.
-     It's also needed for nested structure layout, for example
-     struct A { long a; char b; }; struct B { struct A x; char y; };
-     should find y at an offset of 2*sizeof(long) and result in a
-     total size of 3*sizeof(long).  */
-  arg->size = ALIGN (arg->size, arg->alignment);
-
-  if (arg->size == 0)
-    return FFI_BAD_TYPEDEF;
-  else
-    return FFI_OK;
-}
-
-#ifndef __CRIS__
-/* The CRIS ABI specifies structure elements to have byte
-   alignment only, so it completely overrides this functions,
-   which assumes "natural" alignment and padding.  */
-
-/* Perform machine independent ffi_cif preparation, then call
-   machine dependent routine. */
-
-ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
-                       ffi_type *rtype, ffi_type **atypes)
-{
-  unsigned bytes = 0;
-  unsigned int i;
-  ffi_type **ptr;
-
-  FFI_ASSERT(cif != NULL);
-#ifndef X86_WIN32
-  FFI_ASSERT((abi > FFI_FIRST_ABI) && (abi <= FFI_DEFAULT_ABI));
-#else
-  FFI_ASSERT(abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI
-            || abi == FFI_THISCALL);
-#endif
-
-  cif->abi = abi;
-  cif->arg_types = atypes;
-  cif->nargs = nargs;
-  cif->rtype = rtype;
-
-  cif->flags = 0;
-
-  /* Initialize the return type if necessary */
-  if ((cif->rtype->size == 0) && (initialize_aggregate(cif->rtype) != FFI_OK))
-    return FFI_BAD_TYPEDEF;
-
-  /* Perform a sanity check on the return type */
-  FFI_ASSERT_VALID_TYPE(cif->rtype);
-
-  /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */
-#if !defined M68K && !defined X86_ANY && !defined S390 && !defined PA
-  /* Make space for the return structure pointer */
-  if (cif->rtype->type == FFI_TYPE_STRUCT
-#ifdef SPARC
-      && (cif->abi != FFI_V9 || cif->rtype->size > 32)
-#endif
-     )
-    bytes = STACK_ARG_SIZE(sizeof(void*));
-#endif
-
-  for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-    {
-
-      /* Initialize any uninitialized aggregate type definitions */
-      if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
-       return FFI_BAD_TYPEDEF;
-
-      /* Perform a sanity check on the argument type, do this
-        check after the initialization.  */
-      FFI_ASSERT_VALID_TYPE(*ptr);
-
-#if !defined X86_ANY && !defined S390 && !defined PA
-#ifdef SPARC
-      if (((*ptr)->type == FFI_TYPE_STRUCT
-          && ((*ptr)->size > 16 || cif->abi != FFI_V9))
-         || ((*ptr)->type == FFI_TYPE_LONGDOUBLE
-             && cif->abi != FFI_V9))
-       bytes += sizeof(void*);
-      else
-#endif
-       {
-         /* Add any padding if necessary */
-         if (((*ptr)->alignment - 1) & bytes)
-           bytes = ALIGN(bytes, (*ptr)->alignment);
-
-         bytes += STACK_ARG_SIZE((*ptr)->size);
-       }
-#endif
-    }
-
-  cif->bytes = bytes;
-
-  /* Perform machine dependent cif processing */
-  return ffi_prep_cif_machdep(cif);
-}
-#endif /* not __CRIS__ */
-
-#if FFI_CLOSURES
-
-ffi_status
-ffi_prep_closure (ffi_closure* closure,
-                 ffi_cif* cif,
-                 void (*fun)(ffi_cif*,void*,void**,void*),
-                 void *user_data)
-{
-  return ffi_prep_closure_loc (closure, cif, fun, user_data, closure);
-}
-
-#endif
diff --git a/.pc/fix-xfails/src/x86/ffi64.c b/.pc/fix-xfails/src/x86/ffi64.c
deleted file mode 100644 (file)
index bd907d7..0000000
+++ /dev/null
@@ -1,627 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi64.c - Copyright (c) 2002, 2007  Bo Thorsen <bo@suse.de>
-             Copyright (c) 2008, 2010  Red Hat, Inc.
-   
-   x86-64 Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdarg.h>
-
-#ifdef __x86_64__
-
-#define MAX_GPR_REGS 6
-#define MAX_SSE_REGS 8
-
-struct register_args
-{
-  /* Registers for argument passing.  */
-  UINT64 gpr[MAX_GPR_REGS];
-  __int128_t sse[MAX_SSE_REGS];
-};
-
-extern void ffi_call_unix64 (void *args, unsigned long bytes, unsigned flags,
-                            void *raddr, void (*fnaddr)(void), unsigned ssecount);
-
-/* All reference to register classes here is identical to the code in
-   gcc/config/i386/i386.c. Do *not* change one without the other.  */
-
-/* Register class used for passing given 64bit part of the argument.
-   These represent classes as documented by the PS ABI, with the
-   exception of SSESF, SSEDF classes, that are basically SSE class,
-   just gcc will use SF or DFmode move instead of DImode to avoid
-   reformatting penalties.
-
-   Similary we play games with INTEGERSI_CLASS to use cheaper SImode moves
-   whenever possible (upper half does contain padding).  */
-enum x86_64_reg_class
-  {
-    X86_64_NO_CLASS,
-    X86_64_INTEGER_CLASS,
-    X86_64_INTEGERSI_CLASS,
-    X86_64_SSE_CLASS,
-    X86_64_SSESF_CLASS,
-    X86_64_SSEDF_CLASS,
-    X86_64_SSEUP_CLASS,
-    X86_64_X87_CLASS,
-    X86_64_X87UP_CLASS,
-    X86_64_COMPLEX_X87_CLASS,
-    X86_64_MEMORY_CLASS
-  };
-
-#define MAX_CLASSES 4
-
-#define SSE_CLASS_P(X) ((X) >= X86_64_SSE_CLASS && X <= X86_64_SSEUP_CLASS)
-
-/* x86-64 register passing implementation.  See x86-64 ABI for details.  Goal
-   of this code is to classify each 8bytes of incoming argument by the register
-   class and assign registers accordingly.  */
-
-/* Return the union class of CLASS1 and CLASS2.
-   See the x86-64 PS ABI for details.  */
-
-static enum x86_64_reg_class
-merge_classes (enum x86_64_reg_class class1, enum x86_64_reg_class class2)
-{
-  /* Rule #1: If both classes are equal, this is the resulting class.  */
-  if (class1 == class2)
-    return class1;
-
-  /* Rule #2: If one of the classes is NO_CLASS, the resulting class is
-     the other class.  */
-  if (class1 == X86_64_NO_CLASS)
-    return class2;
-  if (class2 == X86_64_NO_CLASS)
-    return class1;
-
-  /* Rule #3: If one of the classes is MEMORY, the result is MEMORY.  */
-  if (class1 == X86_64_MEMORY_CLASS || class2 == X86_64_MEMORY_CLASS)
-    return X86_64_MEMORY_CLASS;
-
-  /* Rule #4: If one of the classes is INTEGER, the result is INTEGER.  */
-  if ((class1 == X86_64_INTEGERSI_CLASS && class2 == X86_64_SSESF_CLASS)
-      || (class2 == X86_64_INTEGERSI_CLASS && class1 == X86_64_SSESF_CLASS))
-    return X86_64_INTEGERSI_CLASS;
-  if (class1 == X86_64_INTEGER_CLASS || class1 == X86_64_INTEGERSI_CLASS
-      || class2 == X86_64_INTEGER_CLASS || class2 == X86_64_INTEGERSI_CLASS)
-    return X86_64_INTEGER_CLASS;
-
-  /* Rule #5: If one of the classes is X87, X87UP, or COMPLEX_X87 class,
-     MEMORY is used.  */
-  if (class1 == X86_64_X87_CLASS
-      || class1 == X86_64_X87UP_CLASS
-      || class1 == X86_64_COMPLEX_X87_CLASS
-      || class2 == X86_64_X87_CLASS
-      || class2 == X86_64_X87UP_CLASS
-      || class2 == X86_64_COMPLEX_X87_CLASS)
-    return X86_64_MEMORY_CLASS;
-
-  /* Rule #6: Otherwise class SSE is used.  */
-  return X86_64_SSE_CLASS;
-}
-
-/* Classify the argument of type TYPE and mode MODE.
-   CLASSES will be filled by the register class used to pass each word
-   of the operand.  The number of words is returned.  In case the parameter
-   should be passed in memory, 0 is returned. As a special case for zero
-   sized containers, classes[0] will be NO_CLASS and 1 is returned.
-
-   See the x86-64 PS ABI for details.
-*/
-static int
-classify_argument (ffi_type *type, enum x86_64_reg_class classes[],
-                  size_t byte_offset)
-{
-  switch (type->type)
-    {
-    case FFI_TYPE_UINT8:
-    case FFI_TYPE_SINT8:
-    case FFI_TYPE_UINT16:
-    case FFI_TYPE_SINT16:
-    case FFI_TYPE_UINT32:
-    case FFI_TYPE_SINT32:
-    case FFI_TYPE_UINT64:
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_POINTER:
-      {
-       int size = byte_offset + type->size;
-
-       if (size <= 4)
-         {
-           classes[0] = X86_64_INTEGERSI_CLASS;
-           return 1;
-         }
-       else if (size <= 8)
-         {
-           classes[0] = X86_64_INTEGER_CLASS;
-           return 1;
-         }
-       else if (size <= 12)
-         {
-           classes[0] = X86_64_INTEGER_CLASS;
-           classes[1] = X86_64_INTEGERSI_CLASS;
-           return 2;
-         }
-       else if (size <= 16)
-         {
-           classes[0] = classes[1] = X86_64_INTEGERSI_CLASS;
-           return 2;
-         }
-       else
-         FFI_ASSERT (0);
-      }
-    case FFI_TYPE_FLOAT:
-      if (!(byte_offset % 8))
-       classes[0] = X86_64_SSESF_CLASS;
-      else
-       classes[0] = X86_64_SSE_CLASS;
-      return 1;
-    case FFI_TYPE_DOUBLE:
-      classes[0] = X86_64_SSEDF_CLASS;
-      return 1;
-    case FFI_TYPE_LONGDOUBLE:
-      classes[0] = X86_64_X87_CLASS;
-      classes[1] = X86_64_X87UP_CLASS;
-      return 2;
-    case FFI_TYPE_STRUCT:
-      {
-       const int UNITS_PER_WORD = 8;
-       int words = (type->size + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
-       ffi_type **ptr; 
-       int i;
-       enum x86_64_reg_class subclasses[MAX_CLASSES];
-
-       /* If the struct is larger than 32 bytes, pass it on the stack.  */
-       if (type->size > 32)
-         return 0;
-
-       for (i = 0; i < words; i++)
-         classes[i] = X86_64_NO_CLASS;
-
-       /* Zero sized arrays or structures are NO_CLASS.  We return 0 to
-          signalize memory class, so handle it as special case.  */
-       if (!words)
-         {
-           classes[0] = X86_64_NO_CLASS;
-           return 1;
-         }
-
-       /* Merge the fields of structure.  */
-       for (ptr = type->elements; *ptr != NULL; ptr++)
-         {
-           int num;
-
-           byte_offset = ALIGN (byte_offset, (*ptr)->alignment);
-
-           num = classify_argument (*ptr, subclasses, byte_offset % 8);
-           if (num == 0)
-             return 0;
-           for (i = 0; i < num; i++)
-             {
-               int pos = byte_offset / 8;
-               classes[i + pos] =
-                 merge_classes (subclasses[i], classes[i + pos]);
-             }
-
-           byte_offset += (*ptr)->size;
-         }
-
-       if (words > 2)
-         {
-           /* When size > 16 bytes, if the first one isn't
-              X86_64_SSE_CLASS or any other ones aren't
-              X86_64_SSEUP_CLASS, everything should be passed in
-              memory.  */
-           if (classes[0] != X86_64_SSE_CLASS)
-             return 0;
-
-           for (i = 1; i < words; i++)
-             if (classes[i] != X86_64_SSEUP_CLASS)
-               return 0;
-         }
-
-       /* Final merger cleanup.  */
-       for (i = 0; i < words; i++)
-         {
-           /* If one class is MEMORY, everything should be passed in
-              memory.  */
-           if (classes[i] == X86_64_MEMORY_CLASS)
-             return 0;
-
-           /* The X86_64_SSEUP_CLASS should be always preceded by
-              X86_64_SSE_CLASS or X86_64_SSEUP_CLASS.  */
-           if (classes[i] == X86_64_SSEUP_CLASS
-               && classes[i - 1] != X86_64_SSE_CLASS
-               && classes[i - 1] != X86_64_SSEUP_CLASS)
-             {
-               /* The first one should never be X86_64_SSEUP_CLASS.  */
-               FFI_ASSERT (i != 0);
-               classes[i] = X86_64_SSE_CLASS;
-             }
-
-           /*  If X86_64_X87UP_CLASS isn't preceded by X86_64_X87_CLASS,
-               everything should be passed in memory.  */
-           if (classes[i] == X86_64_X87UP_CLASS
-               && (classes[i - 1] != X86_64_X87_CLASS))
-             {
-               /* The first one should never be X86_64_X87UP_CLASS.  */
-               FFI_ASSERT (i != 0);
-               return 0;
-             }
-         }
-       return words;
-      }
-
-    default:
-      FFI_ASSERT(0);
-    }
-  return 0; /* Never reached.  */
-}
-
-/* Examine the argument and return set number of register required in each
-   class.  Return zero iff parameter should be passed in memory, otherwise
-   the number of registers.  */
-
-static int
-examine_argument (ffi_type *type, enum x86_64_reg_class classes[MAX_CLASSES],
-                 _Bool in_return, int *pngpr, int *pnsse)
-{
-  int i, n, ngpr, nsse;
-
-  n = classify_argument (type, classes, 0);
-  if (n == 0)
-    return 0;
-
-  ngpr = nsse = 0;
-  for (i = 0; i < n; ++i)
-    switch (classes[i])
-      {
-      case X86_64_INTEGER_CLASS:
-      case X86_64_INTEGERSI_CLASS:
-       ngpr++;
-       break;
-      case X86_64_SSE_CLASS:
-      case X86_64_SSESF_CLASS:
-      case X86_64_SSEDF_CLASS:
-       nsse++;
-       break;
-      case X86_64_NO_CLASS:
-      case X86_64_SSEUP_CLASS:
-       break;
-      case X86_64_X87_CLASS:
-      case X86_64_X87UP_CLASS:
-      case X86_64_COMPLEX_X87_CLASS:
-       return in_return != 0;
-      default:
-       abort ();
-      }
-
-  *pngpr = ngpr;
-  *pnsse = nsse;
-
-  return n;
-}
-
-/* Perform machine dependent cif processing.  */
-
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
-  int gprcount, ssecount, i, avn, n, ngpr, nsse, flags;
-  enum x86_64_reg_class classes[MAX_CLASSES];
-  size_t bytes;
-
-  gprcount = ssecount = 0;
-
-  flags = cif->rtype->type;
-  if (flags != FFI_TYPE_VOID)
-    {
-      n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse);
-      if (n == 0)
-       {
-         /* The return value is passed in memory.  A pointer to that
-            memory is the first argument.  Allocate a register for it.  */
-         gprcount++;
-         /* We don't have to do anything in asm for the return.  */
-         flags = FFI_TYPE_VOID;
-       }
-      else if (flags == FFI_TYPE_STRUCT)
-       {
-         /* Mark which registers the result appears in.  */
-         _Bool sse0 = SSE_CLASS_P (classes[0]);
-         _Bool sse1 = n == 2 && SSE_CLASS_P (classes[1]);
-         if (sse0 && !sse1)
-           flags |= 1 << 8;
-         else if (!sse0 && sse1)
-           flags |= 1 << 9;
-         else if (sse0 && sse1)
-           flags |= 1 << 10;
-         /* Mark the true size of the structure.  */
-         flags |= cif->rtype->size << 12;
-       }
-    }
-
-  /* Go over all arguments and determine the way they should be passed.
-     If it's in a register and there is space for it, let that be so. If
-     not, add it's size to the stack byte count.  */
-  for (bytes = 0, i = 0, avn = cif->nargs; i < avn; i++)
-    {
-      if (examine_argument (cif->arg_types[i], classes, 0, &ngpr, &nsse) == 0
-         || gprcount + ngpr > MAX_GPR_REGS
-         || ssecount + nsse > MAX_SSE_REGS)
-       {
-         long align = cif->arg_types[i]->alignment;
-
-         if (align < 8)
-           align = 8;
-
-         bytes = ALIGN (bytes, align);
-         bytes += cif->arg_types[i]->size;
-       }
-      else
-       {
-         gprcount += ngpr;
-         ssecount += nsse;
-       }
-    }
-  if (ssecount)
-    flags |= 1 << 11;
-  cif->flags = flags;
-  cif->bytes = ALIGN (bytes, 8);
-
-  return FFI_OK;
-}
-
-void
-ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  enum x86_64_reg_class classes[MAX_CLASSES];
-  char *stack, *argp;
-  ffi_type **arg_types;
-  int gprcount, ssecount, ngpr, nsse, i, avn;
-  _Bool ret_in_memory;
-  struct register_args *reg_args;
-
-  /* Can't call 32-bit mode from 64-bit mode.  */
-  FFI_ASSERT (cif->abi == FFI_UNIX64);
-
-  /* If the return value is a struct and we don't have a return value
-     address then we need to make one.  Note the setting of flags to
-     VOID above in ffi_prep_cif_machdep.  */
-  ret_in_memory = (cif->rtype->type == FFI_TYPE_STRUCT
-                  && (cif->flags & 0xff) == FFI_TYPE_VOID);
-  if (rvalue == NULL && ret_in_memory)
-    rvalue = alloca (cif->rtype->size);
-
-  /* Allocate the space for the arguments, plus 4 words of temp space.  */
-  stack = alloca (sizeof (struct register_args) + cif->bytes + 4*8);
-  reg_args = (struct register_args *) stack;
-  argp = stack + sizeof (struct register_args);
-
-  gprcount = ssecount = 0;
-
-  /* If the return value is passed in memory, add the pointer as the
-     first integer argument.  */
-  if (ret_in_memory)
-    reg_args->gpr[gprcount++] = (long) rvalue;
-
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  for (i = 0; i < avn; ++i)
-    {
-      size_t size = arg_types[i]->size;
-      int n;
-
-      n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
-      if (n == 0
-         || gprcount + ngpr > MAX_GPR_REGS
-         || ssecount + nsse > MAX_SSE_REGS)
-       {
-         long align = arg_types[i]->alignment;
-
-         /* Stack arguments are *always* at least 8 byte aligned.  */
-         if (align < 8)
-           align = 8;
-
-         /* Pass this argument in memory.  */
-         argp = (void *) ALIGN (argp, align);
-         memcpy (argp, avalue[i], size);
-         argp += size;
-       }
-      else
-       {
-         /* The argument is passed entirely in registers.  */
-         char *a = (char *) avalue[i];
-         int j;
-
-         for (j = 0; j < n; j++, a += 8, size -= 8)
-           {
-             switch (classes[j])
-               {
-               case X86_64_INTEGER_CLASS:
-               case X86_64_INTEGERSI_CLASS:
-                 reg_args->gpr[gprcount] = 0;
-                 memcpy (&reg_args->gpr[gprcount], a, size < 8 ? size : 8);
-                 gprcount++;
-                 break;
-               case X86_64_SSE_CLASS:
-               case X86_64_SSEDF_CLASS:
-                 reg_args->sse[ssecount++] = *(UINT64 *) a;
-                 break;
-               case X86_64_SSESF_CLASS:
-                 reg_args->sse[ssecount++] = *(UINT32 *) a;
-                 break;
-               default:
-                 abort();
-               }
-           }
-       }
-    }
-
-  ffi_call_unix64 (stack, cif->bytes + sizeof (struct register_args),
-                  cif->flags, rvalue, fn, ssecount);
-}
-
-
-extern void ffi_closure_unix64(void);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif*, void*, void**, void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  volatile unsigned short *tramp;
-
-  tramp = (volatile unsigned short *) &closure->tramp[0];
-
-  tramp[0] = 0xbb49;           /* mov <code>, %r11     */
-  *(void * volatile *) &tramp[1] = ffi_closure_unix64;
-  tramp[5] = 0xba49;           /* mov <data>, %r10     */
-  *(void * volatile *) &tramp[6] = codeloc;
-
-  /* Set the carry bit iff the function uses any sse registers.
-     This is clc or stc, together with the first byte of the jmp.  */
-  tramp[10] = cif->flags & (1 << 11) ? 0x49f9 : 0x49f8;
-
-  tramp[11] = 0xe3ff;                  /* jmp *%r11    */
-
-  closure->cif = cif;
-  closure->fun = fun;
-  closure->user_data = user_data;
-
-  return FFI_OK;
-}
-
-int
-ffi_closure_unix64_inner(ffi_closure *closure, void *rvalue,
-                        struct register_args *reg_args, char *argp)
-{
-  ffi_cif *cif;
-  void **avalue;
-  ffi_type **arg_types;
-  long i, avn;
-  int gprcount, ssecount, ngpr, nsse;
-  int ret;
-
-  cif = closure->cif;
-  avalue = alloca(cif->nargs * sizeof(void *));
-  gprcount = ssecount = 0;
-
-  ret = cif->rtype->type;
-  if (ret != FFI_TYPE_VOID)
-    {
-      enum x86_64_reg_class classes[MAX_CLASSES];
-      int n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse);
-      if (n == 0)
-       {
-         /* The return value goes in memory.  Arrange for the closure
-            return value to go directly back to the original caller.  */
-         rvalue = (void *) reg_args->gpr[gprcount++];
-         /* We don't have to do anything in asm for the return.  */
-         ret = FFI_TYPE_VOID;
-       }
-      else if (ret == FFI_TYPE_STRUCT && n == 2)
-       {
-         /* Mark which register the second word of the structure goes in.  */
-         _Bool sse0 = SSE_CLASS_P (classes[0]);
-         _Bool sse1 = SSE_CLASS_P (classes[1]);
-         if (!sse0 && sse1)
-           ret |= 1 << 8;
-         else if (sse0 && !sse1)
-           ret |= 1 << 9;
-       }
-    }
-
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-  
-  for (i = 0; i < avn; ++i)
-    {
-      enum x86_64_reg_class classes[MAX_CLASSES];
-      int n;
-
-      n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
-      if (n == 0
-         || gprcount + ngpr > MAX_GPR_REGS
-         || ssecount + nsse > MAX_SSE_REGS)
-       {
-         long align = arg_types[i]->alignment;
-
-         /* Stack arguments are *always* at least 8 byte aligned.  */
-         if (align < 8)
-           align = 8;
-
-         /* Pass this argument in memory.  */
-         argp = (void *) ALIGN (argp, align);
-         avalue[i] = argp;
-         argp += arg_types[i]->size;
-       }
-      /* If the argument is in a single register, or two consecutive
-        integer registers, then we can use that address directly.  */
-      else if (n == 1
-              || (n == 2 && !(SSE_CLASS_P (classes[0])
-                              || SSE_CLASS_P (classes[1]))))
-       {
-         /* The argument is in a single register.  */
-         if (SSE_CLASS_P (classes[0]))
-           {
-             avalue[i] = &reg_args->sse[ssecount];
-             ssecount += n;
-           }
-         else
-           {
-             avalue[i] = &reg_args->gpr[gprcount];
-             gprcount += n;
-           }
-       }
-      /* Otherwise, allocate space to make them consecutive.  */
-      else
-       {
-         char *a = alloca (16);
-         int j;
-
-         avalue[i] = a;
-         for (j = 0; j < n; j++, a += 8)
-           {
-             if (SSE_CLASS_P (classes[j]))
-               memcpy (a, &reg_args->sse[ssecount++], 8);
-             else
-               memcpy (a, &reg_args->gpr[gprcount++], 8);
-           }
-       }
-    }
-
-  /* Invoke the closure.  */
-  closure->fun (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell assembly how to perform return type promotions.  */
-  return ret;
-}
-
-#endif /* __x86_64__ */
diff --git a/.pc/fix-xfails/testsuite/libffi.call/err_bad_abi.c b/.pc/fix-xfails/testsuite/libffi.call/err_bad_abi.c
deleted file mode 100644 (file)
index ce0f3bb..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Area:               ffi_prep_cif, ffi_prep_closure
-   Purpose:            Test error return for bad ABIs.
-   Limitations:        none.
-   PR:                 none.
-   Originator: Blake Chaffin 6/6/2007   */
-
-/* { dg-do run { xfail *-*-* } } */
-#include "ffitest.h"
-
-static void
-dummy_fn(ffi_cif* cif __UNUSED__, void* resp __UNUSED__, 
-        void** args __UNUSED__, void* userdata __UNUSED__)
-{}
-
-int main (void)
-{
-       ffi_cif cif;
-        void *code;
-       ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
-       ffi_type* arg_types[1];
-
-       arg_types[0] = NULL;
-
-       CHECK(ffi_prep_cif(&cif, 255, 0, &ffi_type_void,
-               arg_types) == FFI_BAD_ABI);
-
-       CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, &ffi_type_void,
-               arg_types) == FFI_OK);
-
-       cif.abi= 255;
-
-       CHECK(ffi_prep_closure_loc(pcl, &cif, dummy_fn, NULL, code) == FFI_BAD_ABI);
-
-       exit(0);
-}
diff --git a/.pc/fix-xfails/testsuite/libffi.call/err_bad_typedef.c b/.pc/fix-xfails/testsuite/libffi.call/err_bad_typedef.c
deleted file mode 100644 (file)
index bd2fc54..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Area:               ffi_prep_cif
-   Purpose:            Test error return for bad typedefs.
-   Limitations:        none.
-   PR:                 none.
-   Originator: Blake Chaffin 6/6/2007   */
-
-/* { dg-do run { xfail *-*-* } } */
-#include "ffitest.h"
-
-int main (void)
-{
-       ffi_cif cif;
-       ffi_type* arg_types[1];
-
-       arg_types[0] = NULL;
-
-       ffi_type        badType = ffi_type_void;
-
-       badType.size = 0;
-
-       CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, &badType,
-               arg_types) == FFI_BAD_TYPEDEF);
-
-       exit(0);
-}
diff --git a/.pc/fix_maxopt/.timestamp b/.pc/fix_maxopt/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/fix_maxopt/ChangeLog b/.pc/fix_maxopt/ChangeLog
deleted file mode 100644 (file)
index 178a530..0000000
+++ /dev/null
@@ -1,4658 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2011-02-13  Anthony Green  <green@moxielogic.com>
-
-       * include/ffi_common.h (UNLIKELY, LIKELY): Define.
-       * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
-       * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
-
-       * src/prep_cif.c (initialize_aggregate): Convert assertion into
-       FFI_BAD_TYPEDEF return.  Initialize arg size and alignment to 0.
-
-       * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-       * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
-       * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
-
-2011-02-11  Anthony Green  <green@moxielogic.com>
-
-       * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-
-2011-02-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/fix_maxopt/m4/ax_cc_maxopt.m4 b/.pc/fix_maxopt/m4/ax_cc_maxopt.m4
deleted file mode 100644 (file)
index a62cafd..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-# ===========================================================================
-#       http://www.gnu.org/software/autoconf-archive/ax_cc_maxopt.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_CC_MAXOPT
-#
-# DESCRIPTION
-#
-#   Try to turn on "good" C optimization flags for various compilers and
-#   architectures, for some definition of "good". (In our case, good for
-#   FFTW and hopefully for other scientific codes. Modify as needed.)
-#
-#   The user can override the flags by setting the CFLAGS environment
-#   variable. The user can also specify --enable-portable-binary in order to
-#   disable any optimization flags that might result in a binary that only
-#   runs on the host architecture.
-#
-#   Note also that the flags assume that ANSI C aliasing rules are followed
-#   by the code (e.g. for gcc's -fstrict-aliasing), and that floating-point
-#   computations can be re-ordered as needed.
-#
-#   Requires macros: AX_CHECK_COMPILER_FLAGS, AX_COMPILER_VENDOR,
-#   AX_GCC_ARCHFLAG, AX_GCC_X86_CPUID.
-#
-# LICENSE
-#
-#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-#   Copyright (c) 2008 Matteo Frigo
-#
-#   This program is free software: you can redistribute it and/or modify it
-#   under the terms of the GNU General Public License as published by the
-#   Free Software Foundation, either version 3 of the License, or (at your
-#   option) any later version.
-#
-#   This program is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-#   Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License along
-#   with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-#   As a special exception, the respective Autoconf Macro's copyright owner
-#   gives unlimited permission to copy, distribute and modify the configure
-#   scripts that are the output of Autoconf when processing the Macro. You
-#   need not follow the terms of the GNU General Public License when using
-#   or distributing such scripts, even though portions of the text of the
-#   Macro appear in them. The GNU General Public License (GPL) does govern
-#   all other use of the material that constitutes the Autoconf Macro.
-#
-#   This special exception to the GPL applies to versions of the Autoconf
-#   Macro released by the Autoconf Archive. When you make and distribute a
-#   modified version of the Autoconf Macro, you may extend this special
-#   exception to the GPL to apply to your modified version as well.
-
-#serial 11
-
-AC_DEFUN([AX_CC_MAXOPT],
-[
-AC_REQUIRE([AC_PROG_CC])
-AC_REQUIRE([AX_COMPILER_VENDOR])
-AC_REQUIRE([AC_CANONICAL_HOST])
-
-AC_ARG_ENABLE(portable-binary, [AS_HELP_STRING([--enable-portable-binary], [disable compiler optimizations that would produce unportable binaries])],
-       acx_maxopt_portable=$withval, acx_maxopt_portable=no)
-
-# Try to determine "good" native compiler flags if none specified via CFLAGS
-if test "$ac_test_CFLAGS" != "set"; then
-  CFLAGS=""
-  case $ax_cv_c_compiler_vendor in
-    dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
-        if test "x$acx_maxopt_portable" = xno; then
-           CFLAGS="$CFLAGS -arch host"
-         fi;;
-
-    sun) CFLAGS="-native -fast -xO5 -dalign"
-        if test "x$acx_maxopt_portable" = xyes; then
-          CFLAGS="$CFLAGS -xarch=generic"
-         fi;;
-
-    hp)  CFLAGS="+Oall +Optrs_ansi +DSnative"
-        if test "x$acx_maxopt_portable" = xyes; then
-          CFLAGS="$CFLAGS +DAportable"
-        fi;;
-
-    ibm) if test "x$acx_maxopt_portable" = xno; then
-           xlc_opt="-qarch=auto -qtune=auto"
-        else
-           xlc_opt="-qtune=auto"
-        fi
-         AX_CHECK_COMPILER_FLAGS($xlc_opt,
-               CFLAGS="-O3 -qansialias -w $xlc_opt",
-               [CFLAGS="-O3 -qansialias -w"
-                echo "******************************************************"
-                echo "*  You seem to have the IBM  C compiler.  It is      *"
-                echo "*  recommended for best performance that you use:    *"
-                echo "*                                                    *"
-                echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
-                echo "*                      ^^^        ^^^                *"
-                echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of *"
-                echo "*  CPU you have.  (Set the CFLAGS environment var.   *"
-                echo "*  and re-run configure.)  For more info, man cc.    *"
-                echo "******************************************************"])
-         ;;
-
-    intel) CFLAGS="-O3 -ansi_alias"
-       if test "x$acx_maxopt_portable" = xno; then
-         icc_archflag=unknown
-         icc_flags=""
-         case $host_cpu in
-           i686*|x86_64*)
-              # icc accepts gcc assembly syntax, so these should work:
-             AX_GCC_X86_CPUID(0)
-              AX_GCC_X86_CPUID(1)
-             case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
-                *:756e6547:*:*) # Intel
-                  case $ax_cv_gcc_x86_cpuid_1 in
-                    *6a?:*[[234]]:*:*|*6[[789b]]?:*:*:*) icc_flags="-xK";;
-                    *f3[[347]]:*:*:*|*f4[1347]:*:*:*) icc_flags="-xP -xN -xW -xK";;
-                    *f??:*:*:*) icc_flags="-xN -xW -xK";;
-                  esac ;;
-              esac ;;
-          esac
-          if test "x$icc_flags" != x; then
-            for flag in $icc_flags; do
-              AX_CHECK_COMPILER_FLAGS($flag, [icc_archflag=$flag; break])
-            done
-          fi
-          AC_MSG_CHECKING([for icc architecture flag])
-         AC_MSG_RESULT($icc_archflag)
-          if test "x$icc_archflag" != xunknown; then
-            CFLAGS="$CFLAGS $icc_archflag"
-          fi
-        fi
-       ;;
-
-    gnu)
-     # default optimization flags for gcc on all systems
-     CFLAGS="-O3 -fomit-frame-pointer"
-
-     # -malign-double for x86 systems
-     AX_CHECK_COMPILER_FLAGS(-malign-double, CFLAGS="$CFLAGS -malign-double")
-
-     #  -fstrict-aliasing for gcc-2.95+
-     AX_CHECK_COMPILER_FLAGS(-fstrict-aliasing,
-       CFLAGS="$CFLAGS -fstrict-aliasing")
-
-     # note that we enable "unsafe" fp optimization with other compilers, too
-     AX_CHECK_COMPILER_FLAGS(-ffast-math, CFLAGS="$CFLAGS -ffast-math")
-
-     AX_GCC_ARCHFLAG($acx_maxopt_portable)
-     ;;
-  esac
-
-  if test -z "$CFLAGS"; then
-       echo ""
-       echo "********************************************************"
-        echo "* WARNING: Don't know the best CFLAGS for this system  *"
-        echo "* Use ./configure CFLAGS=... to specify your own flags *"
-       echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"
-       echo "********************************************************"
-       echo ""
-        CFLAGS="-O3"
-  fi
-
-  AX_CHECK_COMPILER_FLAGS($CFLAGS, [], [
-       echo ""
-        echo "********************************************************"
-        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"
-        echo "* your compiler.                                       *"
-        echo "* Use ./configure CFLAGS=... to specify your own flags *"
-        echo "********************************************************"
-        echo ""
-        CFLAGS=""
-  ])
-
-fi
-])
diff --git a/.pc/hpux-mallinfo/.timestamp b/.pc/hpux-mallinfo/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/hpux-mallinfo/ChangeLog b/.pc/hpux-mallinfo/ChangeLog
deleted file mode 100644 (file)
index 502aaef..0000000
+++ /dev/null
@@ -1,4579 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/hpux-mallinfo/src/dlmalloc.c b/.pc/hpux-mallinfo/src/dlmalloc.c
deleted file mode 100644 (file)
index 0fa235a..0000000
+++ /dev/null
@@ -1,5158 +0,0 @@
-/*
-  This is a version (aka dlmalloc) of malloc/free/realloc written by
-  Doug Lea and released to the public domain, as explained at
-  http://creativecommons.org/licenses/publicdomain.  Send questions,
-  comments, complaints, performance data, etc to dl@cs.oswego.edu
-
-* Version 2.8.3 Thu Sep 22 11:16:15 2005  Doug Lea  (dl at gee)
-
-   Note: There may be an updated version of this malloc obtainable at
-           ftp://gee.cs.oswego.edu/pub/misc/malloc.c
-         Check before installing!
-
-* Quickstart
-
-  This library is all in one file to simplify the most common usage:
-  ftp it, compile it (-O3), and link it into another program. All of
-  the compile-time options default to reasonable values for use on
-  most platforms.  You might later want to step through various
-  compile-time and dynamic tuning options.
-
-  For convenience, an include file for code using this malloc is at:
-     ftp://gee.cs.oswego.edu/pub/misc/malloc-2.8.3.h
-  You don't really need this .h file unless you call functions not
-  defined in your system include files.  The .h file contains only the
-  excerpts from this file needed for using this malloc on ANSI C/C++
-  systems, so long as you haven't changed compile-time options about
-  naming and tuning parameters.  If you do, then you can create your
-  own malloc.h that does include all settings by cutting at the point
-  indicated below. Note that you may already by default be using a C
-  library containing a malloc that is based on some version of this
-  malloc (for example in linux). You might still want to use the one
-  in this file to customize settings or to avoid overheads associated
-  with library versions.
-
-* Vital statistics:
-
-  Supported pointer/size_t representation:       4 or 8 bytes
-       size_t MUST be an unsigned type of the same width as
-       pointers. (If you are using an ancient system that declares
-       size_t as a signed type, or need it to be a different width
-       than pointers, you can use a previous release of this malloc
-       (e.g. 2.7.2) supporting these.)
-
-  Alignment:                                     8 bytes (default)
-       This suffices for nearly all current machines and C compilers.
-       However, you can define MALLOC_ALIGNMENT to be wider than this
-       if necessary (up to 128bytes), at the expense of using more space.
-
-  Minimum overhead per allocated chunk:   4 or  8 bytes (if 4byte sizes)
-                                          8 or 16 bytes (if 8byte sizes)
-       Each malloced chunk has a hidden word of overhead holding size
-       and status information, and additional cross-check word
-       if FOOTERS is defined.
-
-  Minimum allocated size: 4-byte ptrs:  16 bytes    (including overhead)
-                          8-byte ptrs:  32 bytes    (including overhead)
-
-       Even a request for zero bytes (i.e., malloc(0)) returns a
-       pointer to something of the minimum allocatable size.
-       The maximum overhead wastage (i.e., number of extra bytes
-       allocated than were requested in malloc) is less than or equal
-       to the minimum size, except for requests >= mmap_threshold that
-       are serviced via mmap(), where the worst case wastage is about
-       32 bytes plus the remainder from a system page (the minimal
-       mmap unit); typically 4096 or 8192 bytes.
-
-  Security: static-safe; optionally more or less
-       The "security" of malloc refers to the ability of malicious
-       code to accentuate the effects of errors (for example, freeing
-       space that is not currently malloc'ed or overwriting past the
-       ends of chunks) in code that calls malloc.  This malloc
-       guarantees not to modify any memory locations below the base of
-       heap, i.e., static variables, even in the presence of usage
-       errors.  The routines additionally detect most improper frees
-       and reallocs.  All this holds as long as the static bookkeeping
-       for malloc itself is not corrupted by some other means.  This
-       is only one aspect of security -- these checks do not, and
-       cannot, detect all possible programming errors.
-
-       If FOOTERS is defined nonzero, then each allocated chunk
-       carries an additional check word to verify that it was malloced
-       from its space.  These check words are the same within each
-       execution of a program using malloc, but differ across
-       executions, so externally crafted fake chunks cannot be
-       freed. This improves security by rejecting frees/reallocs that
-       could corrupt heap memory, in addition to the checks preventing
-       writes to statics that are always on.  This may further improve
-       security at the expense of time and space overhead.  (Note that
-       FOOTERS may also be worth using with MSPACES.)
-
-       By default detected errors cause the program to abort (calling
-       "abort()"). You can override this to instead proceed past
-       errors by defining PROCEED_ON_ERROR.  In this case, a bad free
-       has no effect, and a malloc that encounters a bad address
-       caused by user overwrites will ignore the bad address by
-       dropping pointers and indices to all known memory. This may
-       be appropriate for programs that should continue if at all
-       possible in the face of programming errors, although they may
-       run out of memory because dropped memory is never reclaimed.
-
-       If you don't like either of these options, you can define
-       CORRUPTION_ERROR_ACTION and USAGE_ERROR_ACTION to do anything
-       else. And if if you are sure that your program using malloc has
-       no errors or vulnerabilities, you can define INSECURE to 1,
-       which might (or might not) provide a small performance improvement.
-
-  Thread-safety: NOT thread-safe unless USE_LOCKS defined
-       When USE_LOCKS is defined, each public call to malloc, free,
-       etc is surrounded with either a pthread mutex or a win32
-       spinlock (depending on WIN32). This is not especially fast, and
-       can be a major bottleneck.  It is designed only to provide
-       minimal protection in concurrent environments, and to provide a
-       basis for extensions.  If you are using malloc in a concurrent
-       program, consider instead using ptmalloc, which is derived from
-       a version of this malloc. (See http://www.malloc.de).
-
-  System requirements: Any combination of MORECORE and/or MMAP/MUNMAP
-       This malloc can use unix sbrk or any emulation (invoked using
-       the CALL_MORECORE macro) and/or mmap/munmap or any emulation
-       (invoked using CALL_MMAP/CALL_MUNMAP) to get and release system
-       memory.  On most unix systems, it tends to work best if both
-       MORECORE and MMAP are enabled.  On Win32, it uses emulations
-       based on VirtualAlloc. It also uses common C library functions
-       like memset.
-
-  Compliance: I believe it is compliant with the Single Unix Specification
-       (See http://www.unix.org). Also SVID/XPG, ANSI C, and probably
-       others as well.
-
-* Overview of algorithms
-
-  This is not the fastest, most space-conserving, most portable, or
-  most tunable malloc ever written. However it is among the fastest
-  while also being among the most space-conserving, portable and
-  tunable.  Consistent balance across these factors results in a good
-  general-purpose allocator for malloc-intensive programs.
-
-  In most ways, this malloc is a best-fit allocator. Generally, it
-  chooses the best-fitting existing chunk for a request, with ties
-  broken in approximately least-recently-used order. (This strategy
-  normally maintains low fragmentation.) However, for requests less
-  than 256bytes, it deviates from best-fit when there is not an
-  exactly fitting available chunk by preferring to use space adjacent
-  to that used for the previous small request, as well as by breaking
-  ties in approximately most-recently-used order. (These enhance
-  locality of series of small allocations.)  And for very large requests
-  (>= 256Kb by default), it relies on system memory mapping
-  facilities, if supported.  (This helps avoid carrying around and
-  possibly fragmenting memory used only for large chunks.)
-
-  All operations (except malloc_stats and mallinfo) have execution
-  times that are bounded by a constant factor of the number of bits in
-  a size_t, not counting any clearing in calloc or copying in realloc,
-  or actions surrounding MORECORE and MMAP that have times
-  proportional to the number of non-contiguous regions returned by
-  system allocation routines, which is often just 1.
-
-  The implementation is not very modular and seriously overuses
-  macros. Perhaps someday all C compilers will do as good a job
-  inlining modular code as can now be done by brute-force expansion,
-  but now, enough of them seem not to.
-
-  Some compilers issue a lot of warnings about code that is
-  dead/unreachable only on some platforms, and also about intentional
-  uses of negation on unsigned types. All known cases of each can be
-  ignored.
-
-  For a longer but out of date high-level description, see
-     http://gee.cs.oswego.edu/dl/html/malloc.html
-
-* MSPACES
-  If MSPACES is defined, then in addition to malloc, free, etc.,
-  this file also defines mspace_malloc, mspace_free, etc. These
-  are versions of malloc routines that take an "mspace" argument
-  obtained using create_mspace, to control all internal bookkeeping.
-  If ONLY_MSPACES is defined, only these versions are compiled.
-  So if you would like to use this allocator for only some allocations,
-  and your system malloc for others, you can compile with
-  ONLY_MSPACES and then do something like...
-    static mspace mymspace = create_mspace(0,0); // for example
-    #define mymalloc(bytes)  mspace_malloc(mymspace, bytes)
-
-  (Note: If you only need one instance of an mspace, you can instead
-  use "USE_DL_PREFIX" to relabel the global malloc.)
-
-  You can similarly create thread-local allocators by storing
-  mspaces as thread-locals. For example:
-    static __thread mspace tlms = 0;
-    void*  tlmalloc(size_t bytes) {
-      if (tlms == 0) tlms = create_mspace(0, 0);
-      return mspace_malloc(tlms, bytes);
-    }
-    void  tlfree(void* mem) { mspace_free(tlms, mem); }
-
-  Unless FOOTERS is defined, each mspace is completely independent.
-  You cannot allocate from one and free to another (although
-  conformance is only weakly checked, so usage errors are not always
-  caught). If FOOTERS is defined, then each chunk carries around a tag
-  indicating its originating mspace, and frees are directed to their
-  originating spaces.
-
- -------------------------  Compile-time options ---------------------------
-
-Be careful in setting #define values for numerical constants of type
-size_t. On some systems, literal values are not automatically extended
-to size_t precision unless they are explicitly casted.
-
-WIN32                    default: defined if _WIN32 defined
-  Defining WIN32 sets up defaults for MS environment and compilers.
-  Otherwise defaults are for unix.
-
-MALLOC_ALIGNMENT         default: (size_t)8
-  Controls the minimum alignment for malloc'ed chunks.  It must be a
-  power of two and at least 8, even on machines for which smaller
-  alignments would suffice. It may be defined as larger than this
-  though. Note however that code and data structures are optimized for
-  the case of 8-byte alignment.
-
-MSPACES                  default: 0 (false)
-  If true, compile in support for independent allocation spaces.
-  This is only supported if HAVE_MMAP is true.
-
-ONLY_MSPACES             default: 0 (false)
-  If true, only compile in mspace versions, not regular versions.
-
-USE_LOCKS                default: 0 (false)
-  Causes each call to each public routine to be surrounded with
-  pthread or WIN32 mutex lock/unlock. (If set true, this can be
-  overridden on a per-mspace basis for mspace versions.)
-
-FOOTERS                  default: 0
-  If true, provide extra checking and dispatching by placing
-  information in the footers of allocated chunks. This adds
-  space and time overhead.
-
-INSECURE                 default: 0
-  If true, omit checks for usage errors and heap space overwrites.
-
-USE_DL_PREFIX            default: NOT defined
-  Causes compiler to prefix all public routines with the string 'dl'.
-  This can be useful when you only want to use this malloc in one part
-  of a program, using your regular system malloc elsewhere.
-
-ABORT                    default: defined as abort()
-  Defines how to abort on failed checks.  On most systems, a failed
-  check cannot die with an "assert" or even print an informative
-  message, because the underlying print routines in turn call malloc,
-  which will fail again.  Generally, the best policy is to simply call
-  abort(). It's not very useful to do more than this because many
-  errors due to overwriting will show up as address faults (null, odd
-  addresses etc) rather than malloc-triggered checks, so will also
-  abort.  Also, most compilers know that abort() does not return, so
-  can better optimize code conditionally calling it.
-
-PROCEED_ON_ERROR           default: defined as 0 (false)
-  Controls whether detected bad addresses cause them to bypassed
-  rather than aborting. If set, detected bad arguments to free and
-  realloc are ignored. And all bookkeeping information is zeroed out
-  upon a detected overwrite of freed heap space, thus losing the
-  ability to ever return it from malloc again, but enabling the
-  application to proceed. If PROCEED_ON_ERROR is defined, the
-  static variable malloc_corruption_error_count is compiled in
-  and can be examined to see if errors have occurred. This option
-  generates slower code than the default abort policy.
-
-DEBUG                    default: NOT defined
-  The DEBUG setting is mainly intended for people trying to modify
-  this code or diagnose problems when porting to new platforms.
-  However, it may also be able to better isolate user errors than just
-  using runtime checks.  The assertions in the check routines spell
-  out in more detail the assumptions and invariants underlying the
-  algorithms.  The checking is fairly extensive, and will slow down
-  execution noticeably. Calling malloc_stats or mallinfo with DEBUG
-  set will attempt to check every non-mmapped allocated and free chunk
-  in the course of computing the summaries.
-
-ABORT_ON_ASSERT_FAILURE   default: defined as 1 (true)
-  Debugging assertion failures can be nearly impossible if your
-  version of the assert macro causes malloc to be called, which will
-  lead to a cascade of further failures, blowing the runtime stack.
-  ABORT_ON_ASSERT_FAILURE cause assertions failures to call abort(),
-  which will usually make debugging easier.
-
-MALLOC_FAILURE_ACTION     default: sets errno to ENOMEM, or no-op on win32
-  The action to take before "return 0" when malloc fails to be able to
-  return memory because there is none available.
-
-HAVE_MORECORE             default: 1 (true) unless win32 or ONLY_MSPACES
-  True if this system supports sbrk or an emulation of it.
-
-MORECORE                  default: sbrk
-  The name of the sbrk-style system routine to call to obtain more
-  memory.  See below for guidance on writing custom MORECORE
-  functions. The type of the argument to sbrk/MORECORE varies across
-  systems.  It cannot be size_t, because it supports negative
-  arguments, so it is normally the signed type of the same width as
-  size_t (sometimes declared as "intptr_t").  It doesn't much matter
-  though. Internally, we only call it with arguments less than half
-  the max value of a size_t, which should work across all reasonable
-  possibilities, although sometimes generating compiler warnings.  See
-  near the end of this file for guidelines for creating a custom
-  version of MORECORE.
-
-MORECORE_CONTIGUOUS       default: 1 (true)
-  If true, take advantage of fact that consecutive calls to MORECORE
-  with positive arguments always return contiguous increasing
-  addresses.  This is true of unix sbrk. It does not hurt too much to
-  set it true anyway, since malloc copes with non-contiguities.
-  Setting it false when definitely non-contiguous saves time
-  and possibly wasted space it would take to discover this though.
-
-MORECORE_CANNOT_TRIM      default: NOT defined
-  True if MORECORE cannot release space back to the system when given
-  negative arguments. This is generally necessary only if you are
-  using a hand-crafted MORECORE function that cannot handle negative
-  arguments.
-
-HAVE_MMAP                 default: 1 (true)
-  True if this system supports mmap or an emulation of it.  If so, and
-  HAVE_MORECORE is not true, MMAP is used for all system
-  allocation. If set and HAVE_MORECORE is true as well, MMAP is
-  primarily used to directly allocate very large blocks. It is also
-  used as a backup strategy in cases where MORECORE fails to provide
-  space from system. Note: A single call to MUNMAP is assumed to be
-  able to unmap memory that may have be allocated using multiple calls
-  to MMAP, so long as they are adjacent.
-
-HAVE_MREMAP               default: 1 on linux, else 0
-  If true realloc() uses mremap() to re-allocate large blocks and
-  extend or shrink allocation spaces.
-
-MMAP_CLEARS               default: 1 on unix
-  True if mmap clears memory so calloc doesn't need to. This is true
-  for standard unix mmap using /dev/zero.
-
-USE_BUILTIN_FFS            default: 0 (i.e., not used)
-  Causes malloc to use the builtin ffs() function to compute indices.
-  Some compilers may recognize and intrinsify ffs to be faster than the
-  supplied C version. Also, the case of x86 using gcc is special-cased
-  to an asm instruction, so is already as fast as it can be, and so
-  this setting has no effect. (On most x86s, the asm version is only
-  slightly faster than the C version.)
-
-malloc_getpagesize         default: derive from system includes, or 4096.
-  The system page size. To the extent possible, this malloc manages
-  memory from the system in page-size units.  This may be (and
-  usually is) a function rather than a constant. This is ignored
-  if WIN32, where page size is determined using getSystemInfo during
-  initialization.
-
-USE_DEV_RANDOM             default: 0 (i.e., not used)
-  Causes malloc to use /dev/random to initialize secure magic seed for
-  stamping footers. Otherwise, the current time is used.
-
-NO_MALLINFO                default: 0
-  If defined, don't compile "mallinfo". This can be a simple way
-  of dealing with mismatches between system declarations and
-  those in this file.
-
-MALLINFO_FIELD_TYPE        default: size_t
-  The type of the fields in the mallinfo struct. This was originally
-  defined as "int" in SVID etc, but is more usefully defined as
-  size_t. The value is used only if  HAVE_USR_INCLUDE_MALLOC_H is not set
-
-REALLOC_ZERO_BYTES_FREES    default: not defined
-  This should be set if a call to realloc with zero bytes should 
-  be the same as a call to free. Some people think it should. Otherwise, 
-  since this malloc returns a unique pointer for malloc(0), so does 
-  realloc(p, 0).
-
-LACKS_UNISTD_H, LACKS_FCNTL_H, LACKS_SYS_PARAM_H, LACKS_SYS_MMAN_H
-LACKS_STRINGS_H, LACKS_STRING_H, LACKS_SYS_TYPES_H,  LACKS_ERRNO_H
-LACKS_STDLIB_H                default: NOT defined unless on WIN32
-  Define these if your system does not have these header files.
-  You might need to manually insert some of the declarations they provide.
-
-DEFAULT_GRANULARITY        default: page size if MORECORE_CONTIGUOUS,
-                                system_info.dwAllocationGranularity in WIN32,
-                                otherwise 64K.
-      Also settable using mallopt(M_GRANULARITY, x)
-  The unit for allocating and deallocating memory from the system.  On
-  most systems with contiguous MORECORE, there is no reason to
-  make this more than a page. However, systems with MMAP tend to
-  either require or encourage larger granularities.  You can increase
-  this value to prevent system allocation functions to be called so
-  often, especially if they are slow.  The value must be at least one
-  page and must be a power of two.  Setting to 0 causes initialization
-  to either page size or win32 region size.  (Note: In previous
-  versions of malloc, the equivalent of this option was called
-  "TOP_PAD")
-
-DEFAULT_TRIM_THRESHOLD    default: 2MB
-      Also settable using mallopt(M_TRIM_THRESHOLD, x)
-  The maximum amount of unused top-most memory to keep before
-  releasing via malloc_trim in free().  Automatic trimming is mainly
-  useful in long-lived programs using contiguous MORECORE.  Because
-  trimming via sbrk can be slow on some systems, and can sometimes be
-  wasteful (in cases where programs immediately afterward allocate
-  more large chunks) the value should be high enough so that your
-  overall system performance would improve by releasing this much
-  memory.  As a rough guide, you might set to a value close to the
-  average size of a process (program) running on your system.
-  Releasing this much memory would allow such a process to run in
-  memory.  Generally, it is worth tuning trim thresholds when a
-  program undergoes phases where several large chunks are allocated
-  and released in ways that can reuse each other's storage, perhaps
-  mixed with phases where there are no such chunks at all. The trim
-  value must be greater than page size to have any useful effect.  To
-  disable trimming completely, you can set to MAX_SIZE_T. Note that the trick
-  some people use of mallocing a huge space and then freeing it at
-  program startup, in an attempt to reserve system memory, doesn't
-  have the intended effect under automatic trimming, since that memory
-  will immediately be returned to the system.
-
-DEFAULT_MMAP_THRESHOLD       default: 256K
-      Also settable using mallopt(M_MMAP_THRESHOLD, x)
-  The request size threshold for using MMAP to directly service a
-  request. Requests of at least this size that cannot be allocated
-  using already-existing space will be serviced via mmap.  (If enough
-  normal freed space already exists it is used instead.)  Using mmap
-  segregates relatively large chunks of memory so that they can be
-  individually obtained and released from the host system. A request
-  serviced through mmap is never reused by any other request (at least
-  not directly; the system may just so happen to remap successive
-  requests to the same locations).  Segregating space in this way has
-  the benefits that: Mmapped space can always be individually released
-  back to the system, which helps keep the system level memory demands
-  of a long-lived program low.  Also, mapped memory doesn't become
-  `locked' between other chunks, as can happen with normally allocated
-  chunks, which means that even trimming via malloc_trim would not
-  release them.  However, it has the disadvantage that the space
-  cannot be reclaimed, consolidated, and then used to service later
-  requests, as happens with normal chunks.  The advantages of mmap
-  nearly always outweigh disadvantages for "large" chunks, but the
-  value of "large" may vary across systems.  The default is an
-  empirically derived value that works well in most systems. You can
-  disable mmap by setting to MAX_SIZE_T.
-
-*/
-
-#ifndef WIN32
-#ifdef _WIN32
-#define WIN32 1
-#endif  /* _WIN32 */
-#endif  /* WIN32 */
-#ifdef WIN32
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#define HAVE_MMAP 1
-#define HAVE_MORECORE 0
-#define LACKS_UNISTD_H
-#define LACKS_SYS_PARAM_H
-#define LACKS_SYS_MMAN_H
-#define LACKS_STRING_H
-#define LACKS_STRINGS_H
-#define LACKS_SYS_TYPES_H
-#define LACKS_ERRNO_H
-#define MALLOC_FAILURE_ACTION
-#define MMAP_CLEARS 0 /* WINCE and some others apparently don't clear */
-#endif  /* WIN32 */
-
-#ifdef __OS2__
-#define INCL_DOS
-#include <os2.h>
-#define HAVE_MMAP 1
-#define HAVE_MORECORE 0
-#define LACKS_SYS_MMAN_H
-#endif  /* __OS2__ */
-
-#if defined(DARWIN) || defined(_DARWIN)
-/* Mac OSX docs advise not to use sbrk; it seems better to use mmap */
-#ifndef HAVE_MORECORE
-#define HAVE_MORECORE 0
-#define HAVE_MMAP 1
-#endif  /* HAVE_MORECORE */
-#endif  /* DARWIN */
-
-#ifndef LACKS_SYS_TYPES_H
-#include <sys/types.h>  /* For size_t */
-#endif  /* LACKS_SYS_TYPES_H */
-
-/* The maximum possible size_t value has all bits set */
-#define MAX_SIZE_T           (~(size_t)0)
-
-#ifndef ONLY_MSPACES
-#define ONLY_MSPACES 0
-#endif  /* ONLY_MSPACES */
-#ifndef MSPACES
-#if ONLY_MSPACES
-#define MSPACES 1
-#else   /* ONLY_MSPACES */
-#define MSPACES 0
-#endif  /* ONLY_MSPACES */
-#endif  /* MSPACES */
-#ifndef MALLOC_ALIGNMENT
-#define MALLOC_ALIGNMENT ((size_t)8U)
-#endif  /* MALLOC_ALIGNMENT */
-#ifndef FOOTERS
-#define FOOTERS 0
-#endif  /* FOOTERS */
-#ifndef ABORT
-#define ABORT  abort()
-#endif  /* ABORT */
-#ifndef ABORT_ON_ASSERT_FAILURE
-#define ABORT_ON_ASSERT_FAILURE 1
-#endif  /* ABORT_ON_ASSERT_FAILURE */
-#ifndef PROCEED_ON_ERROR
-#define PROCEED_ON_ERROR 0
-#endif  /* PROCEED_ON_ERROR */
-#ifndef USE_LOCKS
-#define USE_LOCKS 0
-#endif  /* USE_LOCKS */
-#ifndef INSECURE
-#define INSECURE 0
-#endif  /* INSECURE */
-#ifndef HAVE_MMAP
-#define HAVE_MMAP 1
-#endif  /* HAVE_MMAP */
-#ifndef MMAP_CLEARS
-#define MMAP_CLEARS 1
-#endif  /* MMAP_CLEARS */
-#ifndef HAVE_MREMAP
-#ifdef linux
-#define HAVE_MREMAP 1
-#else   /* linux */
-#define HAVE_MREMAP 0
-#endif  /* linux */
-#endif  /* HAVE_MREMAP */
-#ifndef MALLOC_FAILURE_ACTION
-#define MALLOC_FAILURE_ACTION  errno = ENOMEM;
-#endif  /* MALLOC_FAILURE_ACTION */
-#ifndef HAVE_MORECORE
-#if ONLY_MSPACES
-#define HAVE_MORECORE 0
-#else   /* ONLY_MSPACES */
-#define HAVE_MORECORE 1
-#endif  /* ONLY_MSPACES */
-#endif  /* HAVE_MORECORE */
-#if !HAVE_MORECORE
-#define MORECORE_CONTIGUOUS 0
-#else   /* !HAVE_MORECORE */
-#ifndef MORECORE
-#define MORECORE sbrk
-#endif  /* MORECORE */
-#ifndef MORECORE_CONTIGUOUS
-#define MORECORE_CONTIGUOUS 1
-#endif  /* MORECORE_CONTIGUOUS */
-#endif  /* HAVE_MORECORE */
-#ifndef DEFAULT_GRANULARITY
-#if MORECORE_CONTIGUOUS
-#define DEFAULT_GRANULARITY (0)  /* 0 means to compute in init_mparams */
-#else   /* MORECORE_CONTIGUOUS */
-#define DEFAULT_GRANULARITY ((size_t)64U * (size_t)1024U)
-#endif  /* MORECORE_CONTIGUOUS */
-#endif  /* DEFAULT_GRANULARITY */
-#ifndef DEFAULT_TRIM_THRESHOLD
-#ifndef MORECORE_CANNOT_TRIM
-#define DEFAULT_TRIM_THRESHOLD ((size_t)2U * (size_t)1024U * (size_t)1024U)
-#else   /* MORECORE_CANNOT_TRIM */
-#define DEFAULT_TRIM_THRESHOLD MAX_SIZE_T
-#endif  /* MORECORE_CANNOT_TRIM */
-#endif  /* DEFAULT_TRIM_THRESHOLD */
-#ifndef DEFAULT_MMAP_THRESHOLD
-#if HAVE_MMAP
-#define DEFAULT_MMAP_THRESHOLD ((size_t)256U * (size_t)1024U)
-#else   /* HAVE_MMAP */
-#define DEFAULT_MMAP_THRESHOLD MAX_SIZE_T
-#endif  /* HAVE_MMAP */
-#endif  /* DEFAULT_MMAP_THRESHOLD */
-#ifndef USE_BUILTIN_FFS
-#define USE_BUILTIN_FFS 0
-#endif  /* USE_BUILTIN_FFS */
-#ifndef USE_DEV_RANDOM
-#define USE_DEV_RANDOM 0
-#endif  /* USE_DEV_RANDOM */
-#ifndef NO_MALLINFO
-#define NO_MALLINFO 0
-#endif  /* NO_MALLINFO */
-#ifndef MALLINFO_FIELD_TYPE
-#define MALLINFO_FIELD_TYPE size_t
-#endif  /* MALLINFO_FIELD_TYPE */
-
-/*
-  mallopt tuning options.  SVID/XPG defines four standard parameter
-  numbers for mallopt, normally defined in malloc.h.  None of these
-  are used in this malloc, so setting them has no effect. But this
-  malloc does support the following options.
-*/
-
-#define M_TRIM_THRESHOLD     (-1)
-#define M_GRANULARITY        (-2)
-#define M_MMAP_THRESHOLD     (-3)
-
-/* ------------------------ Mallinfo declarations ------------------------ */
-
-#if !NO_MALLINFO
-/*
-  This version of malloc supports the standard SVID/XPG mallinfo
-  routine that returns a struct containing usage properties and
-  statistics. It should work on any system that has a
-  /usr/include/malloc.h defining struct mallinfo.  The main
-  declaration needed is the mallinfo struct that is returned (by-copy)
-  by mallinfo().  The malloinfo struct contains a bunch of fields that
-  are not even meaningful in this version of malloc.  These fields are
-  are instead filled by mallinfo() with other numbers that might be of
-  interest.
-
-  HAVE_USR_INCLUDE_MALLOC_H should be set if you have a
-  /usr/include/malloc.h file that includes a declaration of struct
-  mallinfo.  If so, it is included; else a compliant version is
-  declared below.  These must be precisely the same for mallinfo() to
-  work.  The original SVID version of this struct, defined on most
-  systems with mallinfo, declares all fields as ints. But some others
-  define as unsigned long. If your system defines the fields using a
-  type of different width than listed here, you MUST #include your
-  system version and #define HAVE_USR_INCLUDE_MALLOC_H.
-*/
-
-/* #define HAVE_USR_INCLUDE_MALLOC_H */
-
-#ifdef HAVE_USR_INCLUDE_MALLOC_H
-#include "/usr/include/malloc.h"
-#else /* HAVE_USR_INCLUDE_MALLOC_H */
-
-struct mallinfo {
-  MALLINFO_FIELD_TYPE arena;    /* non-mmapped space allocated from system */
-  MALLINFO_FIELD_TYPE ordblks;  /* number of free chunks */
-  MALLINFO_FIELD_TYPE smblks;   /* always 0 */
-  MALLINFO_FIELD_TYPE hblks;    /* always 0 */
-  MALLINFO_FIELD_TYPE hblkhd;   /* space in mmapped regions */
-  MALLINFO_FIELD_TYPE usmblks;  /* maximum total allocated space */
-  MALLINFO_FIELD_TYPE fsmblks;  /* always 0 */
-  MALLINFO_FIELD_TYPE uordblks; /* total allocated space */
-  MALLINFO_FIELD_TYPE fordblks; /* total free space */
-  MALLINFO_FIELD_TYPE keepcost; /* releasable (via malloc_trim) space */
-};
-
-#endif /* HAVE_USR_INCLUDE_MALLOC_H */
-#endif /* NO_MALLINFO */
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#if !ONLY_MSPACES
-
-/* ------------------- Declarations of public routines ------------------- */
-
-#ifndef USE_DL_PREFIX
-#define dlcalloc               calloc
-#define dlfree                 free
-#define dlmalloc               malloc
-#define dlmemalign             memalign
-#define dlrealloc              realloc
-#define dlvalloc               valloc
-#define dlpvalloc              pvalloc
-#define dlmallinfo             mallinfo
-#define dlmallopt              mallopt
-#define dlmalloc_trim          malloc_trim
-#define dlmalloc_stats         malloc_stats
-#define dlmalloc_usable_size   malloc_usable_size
-#define dlmalloc_footprint     malloc_footprint
-#define dlmalloc_max_footprint malloc_max_footprint
-#define dlindependent_calloc   independent_calloc
-#define dlindependent_comalloc independent_comalloc
-#endif /* USE_DL_PREFIX */
-
-
-/*
-  malloc(size_t n)
-  Returns a pointer to a newly allocated chunk of at least n bytes, or
-  null if no space is available, in which case errno is set to ENOMEM
-  on ANSI C systems.
-
-  If n is zero, malloc returns a minimum-sized chunk. (The minimum
-  size is 16 bytes on most 32bit systems, and 32 bytes on 64bit
-  systems.)  Note that size_t is an unsigned type, so calls with
-  arguments that would be negative if signed are interpreted as
-  requests for huge amounts of space, which will often fail. The
-  maximum supported value of n differs across systems, but is in all
-  cases less than the maximum representable value of a size_t.
-*/
-void* dlmalloc(size_t);
-
-/*
-  free(void* p)
-  Releases the chunk of memory pointed to by p, that had been previously
-  allocated using malloc or a related routine such as realloc.
-  It has no effect if p is null. If p was not malloced or already
-  freed, free(p) will by default cause the current program to abort.
-*/
-void  dlfree(void*);
-
-/*
-  calloc(size_t n_elements, size_t element_size);
-  Returns a pointer to n_elements * element_size bytes, with all locations
-  set to zero.
-*/
-void* dlcalloc(size_t, size_t);
-
-/*
-  realloc(void* p, size_t n)
-  Returns a pointer to a chunk of size n that contains the same data
-  as does chunk p up to the minimum of (n, p's size) bytes, or null
-  if no space is available.
-
-  The returned pointer may or may not be the same as p. The algorithm
-  prefers extending p in most cases when possible, otherwise it
-  employs the equivalent of a malloc-copy-free sequence.
-
-  If p is null, realloc is equivalent to malloc.
-
-  If space is not available, realloc returns null, errno is set (if on
-  ANSI) and p is NOT freed.
-
-  if n is for fewer bytes than already held by p, the newly unused
-  space is lopped off and freed if possible.  realloc with a size
-  argument of zero (re)allocates a minimum-sized chunk.
-
-  The old unix realloc convention of allowing the last-free'd chunk
-  to be used as an argument to realloc is not supported.
-*/
-
-void* dlrealloc(void*, size_t);
-
-/*
-  memalign(size_t alignment, size_t n);
-  Returns a pointer to a newly allocated chunk of n bytes, aligned
-  in accord with the alignment argument.
-
-  The alignment argument should be a power of two. If the argument is
-  not a power of two, the nearest greater power is used.
-  8-byte alignment is guaranteed by normal malloc calls, so don't
-  bother calling memalign with an argument of 8 or less.
-
-  Overreliance on memalign is a sure way to fragment space.
-*/
-void* dlmemalign(size_t, size_t);
-
-/*
-  valloc(size_t n);
-  Equivalent to memalign(pagesize, n), where pagesize is the page
-  size of the system. If the pagesize is unknown, 4096 is used.
-*/
-void* dlvalloc(size_t);
-
-/*
-  mallopt(int parameter_number, int parameter_value)
-  Sets tunable parameters The format is to provide a
-  (parameter-number, parameter-value) pair.  mallopt then sets the
-  corresponding parameter to the argument value if it can (i.e., so
-  long as the value is meaningful), and returns 1 if successful else
-  0.  SVID/XPG/ANSI defines four standard param numbers for mallopt,
-  normally defined in malloc.h.  None of these are use in this malloc,
-  so setting them has no effect. But this malloc also supports other
-  options in mallopt. See below for details.  Briefly, supported
-  parameters are as follows (listed defaults are for "typical"
-  configurations).
-
-  Symbol            param #  default    allowed param values
-  M_TRIM_THRESHOLD     -1   2*1024*1024   any   (MAX_SIZE_T disables)
-  M_GRANULARITY        -2     page size   any power of 2 >= page size
-  M_MMAP_THRESHOLD     -3      256*1024   any   (or 0 if no MMAP support)
-*/
-int dlmallopt(int, int);
-
-/*
-  malloc_footprint();
-  Returns the number of bytes obtained from the system.  The total
-  number of bytes allocated by malloc, realloc etc., is less than this
-  value. Unlike mallinfo, this function returns only a precomputed
-  result, so can be called frequently to monitor memory consumption.
-  Even if locks are otherwise defined, this function does not use them,
-  so results might not be up to date.
-*/
-size_t dlmalloc_footprint(void);
-
-/*
-  malloc_max_footprint();
-  Returns the maximum number of bytes obtained from the system. This
-  value will be greater than current footprint if deallocated space
-  has been reclaimed by the system. The peak number of bytes allocated
-  by malloc, realloc etc., is less than this value. Unlike mallinfo,
-  this function returns only a precomputed result, so can be called
-  frequently to monitor memory consumption.  Even if locks are
-  otherwise defined, this function does not use them, so results might
-  not be up to date.
-*/
-size_t dlmalloc_max_footprint(void);
-
-#if !NO_MALLINFO
-/*
-  mallinfo()
-  Returns (by copy) a struct containing various summary statistics:
-
-  arena:     current total non-mmapped bytes allocated from system
-  ordblks:   the number of free chunks
-  smblks:    always zero.
-  hblks:     current number of mmapped regions
-  hblkhd:    total bytes held in mmapped regions
-  usmblks:   the maximum total allocated space. This will be greater
-                than current total if trimming has occurred.
-  fsmblks:   always zero
-  uordblks:  current total allocated space (normal or mmapped)
-  fordblks:  total free space
-  keepcost:  the maximum number of bytes that could ideally be released
-               back to system via malloc_trim. ("ideally" means that
-               it ignores page restrictions etc.)
-
-  Because these fields are ints, but internal bookkeeping may
-  be kept as longs, the reported values may wrap around zero and
-  thus be inaccurate.
-*/
-struct mallinfo dlmallinfo(void);
-#endif /* NO_MALLINFO */
-
-/*
-  independent_calloc(size_t n_elements, size_t element_size, void* chunks[]);
-
-  independent_calloc is similar to calloc, but instead of returning a
-  single cleared space, it returns an array of pointers to n_elements
-  independent elements that can hold contents of size elem_size, each
-  of which starts out cleared, and can be independently freed,
-  realloc'ed etc. The elements are guaranteed to be adjacently
-  allocated (this is not guaranteed to occur with multiple callocs or
-  mallocs), which may also improve cache locality in some
-  applications.
-
-  The "chunks" argument is optional (i.e., may be null, which is
-  probably the most typical usage). If it is null, the returned array
-  is itself dynamically allocated and should also be freed when it is
-  no longer needed. Otherwise, the chunks array must be of at least
-  n_elements in length. It is filled in with the pointers to the
-  chunks.
-
-  In either case, independent_calloc returns this pointer array, or
-  null if the allocation failed.  If n_elements is zero and "chunks"
-  is null, it returns a chunk representing an array with zero elements
-  (which should be freed if not wanted).
-
-  Each element must be individually freed when it is no longer
-  needed. If you'd like to instead be able to free all at once, you
-  should instead use regular calloc and assign pointers into this
-  space to represent elements.  (In this case though, you cannot
-  independently free elements.)
-
-  independent_calloc simplifies and speeds up implementations of many
-  kinds of pools.  It may also be useful when constructing large data
-  structures that initially have a fixed number of fixed-sized nodes,
-  but the number is not known at compile time, and some of the nodes
-  may later need to be freed. For example:
-
-  struct Node { int item; struct Node* next; };
-
-  struct Node* build_list() {
-    struct Node** pool;
-    int n = read_number_of_nodes_needed();
-    if (n <= 0) return 0;
-    pool = (struct Node**)(independent_calloc(n, sizeof(struct Node), 0);
-    if (pool == 0) die();
-    // organize into a linked list...
-    struct Node* first = pool[0];
-    for (i = 0; i < n-1; ++i)
-      pool[i]->next = pool[i+1];
-    free(pool);     // Can now free the array (or not, if it is needed later)
-    return first;
-  }
-*/
-void** dlindependent_calloc(size_t, size_t, void**);
-
-/*
-  independent_comalloc(size_t n_elements, size_t sizes[], void* chunks[]);
-
-  independent_comalloc allocates, all at once, a set of n_elements
-  chunks with sizes indicated in the "sizes" array.    It returns
-  an array of pointers to these elements, each of which can be
-  independently freed, realloc'ed etc. The elements are guaranteed to
-  be adjacently allocated (this is not guaranteed to occur with
-  multiple callocs or mallocs), which may also improve cache locality
-  in some applications.
-
-  The "chunks" argument is optional (i.e., may be null). If it is null
-  the returned array is itself dynamically allocated and should also
-  be freed when it is no longer needed. Otherwise, the chunks array
-  must be of at least n_elements in length. It is filled in with the
-  pointers to the chunks.
-
-  In either case, independent_comalloc returns this pointer array, or
-  null if the allocation failed.  If n_elements is zero and chunks is
-  null, it returns a chunk representing an array with zero elements
-  (which should be freed if not wanted).
-
-  Each element must be individually freed when it is no longer
-  needed. If you'd like to instead be able to free all at once, you
-  should instead use a single regular malloc, and assign pointers at
-  particular offsets in the aggregate space. (In this case though, you
-  cannot independently free elements.)
-
-  independent_comallac differs from independent_calloc in that each
-  element may have a different size, and also that it does not
-  automatically clear elements.
-
-  independent_comalloc can be used to speed up allocation in cases
-  where several structs or objects must always be allocated at the
-  same time.  For example:
-
-  struct Head { ... }
-  struct Foot { ... }
-
-  void send_message(char* msg) {
-    int msglen = strlen(msg);
-    size_t sizes[3] = { sizeof(struct Head), msglen, sizeof(struct Foot) };
-    void* chunks[3];
-    if (independent_comalloc(3, sizes, chunks) == 0)
-      die();
-    struct Head* head = (struct Head*)(chunks[0]);
-    char*        body = (char*)(chunks[1]);
-    struct Foot* foot = (struct Foot*)(chunks[2]);
-    // ...
-  }
-
-  In general though, independent_comalloc is worth using only for
-  larger values of n_elements. For small values, you probably won't
-  detect enough difference from series of malloc calls to bother.
-
-  Overuse of independent_comalloc can increase overall memory usage,
-  since it cannot reuse existing noncontiguous small chunks that
-  might be available for some of the elements.
-*/
-void** dlindependent_comalloc(size_t, size_t*, void**);
-
-
-/*
-  pvalloc(size_t n);
-  Equivalent to valloc(minimum-page-that-holds(n)), that is,
-  round up n to nearest pagesize.
- */
-void*  dlpvalloc(size_t);
-
-/*
-  malloc_trim(size_t pad);
-
-  If possible, gives memory back to the system (via negative arguments
-  to sbrk) if there is unused memory at the `high' end of the malloc
-  pool or in unused MMAP segments. You can call this after freeing
-  large blocks of memory to potentially reduce the system-level memory
-  requirements of a program. However, it cannot guarantee to reduce
-  memory. Under some allocation patterns, some large free blocks of
-  memory will be locked between two used chunks, so they cannot be
-  given back to the system.
-
-  The `pad' argument to malloc_trim represents the amount of free
-  trailing space to leave untrimmed. If this argument is zero, only
-  the minimum amount of memory to maintain internal data structures
-  will be left. Non-zero arguments can be supplied to maintain enough
-  trailing space to service future expected allocations without having
-  to re-obtain memory from the system.
-
-  Malloc_trim returns 1 if it actually released any memory, else 0.
-*/
-int  dlmalloc_trim(size_t);
-
-/*
-  malloc_usable_size(void* p);
-
-  Returns the number of bytes you can actually use in
-  an allocated chunk, which may be more than you requested (although
-  often not) due to alignment and minimum size constraints.
-  You can use this many bytes without worrying about
-  overwriting other allocated objects. This is not a particularly great
-  programming practice. malloc_usable_size can be more useful in
-  debugging and assertions, for example:
-
-  p = malloc(n);
-  assert(malloc_usable_size(p) >= 256);
-*/
-size_t dlmalloc_usable_size(void*);
-
-/*
-  malloc_stats();
-  Prints on stderr the amount of space obtained from the system (both
-  via sbrk and mmap), the maximum amount (which may be more than
-  current if malloc_trim and/or munmap got called), and the current
-  number of bytes allocated via malloc (or realloc, etc) but not yet
-  freed. Note that this is the number of bytes allocated, not the
-  number requested. It will be larger than the number requested
-  because of alignment and bookkeeping overhead. Because it includes
-  alignment wastage as being in use, this figure may be greater than
-  zero even when no user-level chunks are allocated.
-
-  The reported current and maximum system memory can be inaccurate if
-  a program makes other calls to system memory allocation functions
-  (normally sbrk) outside of malloc.
-
-  malloc_stats prints only the most commonly interesting statistics.
-  More information can be obtained by calling mallinfo.
-*/
-void  dlmalloc_stats(void);
-
-#endif /* ONLY_MSPACES */
-
-#if MSPACES
-
-/*
-  mspace is an opaque type representing an independent
-  region of space that supports mspace_malloc, etc.
-*/
-typedef void* mspace;
-
-/*
-  create_mspace creates and returns a new independent space with the
-  given initial capacity, or, if 0, the default granularity size.  It
-  returns null if there is no system memory available to create the
-  space.  If argument locked is non-zero, the space uses a separate
-  lock to control access. The capacity of the space will grow
-  dynamically as needed to service mspace_malloc requests.  You can
-  control the sizes of incremental increases of this space by
-  compiling with a different DEFAULT_GRANULARITY or dynamically
-  setting with mallopt(M_GRANULARITY, value).
-*/
-mspace create_mspace(size_t capacity, int locked);
-
-/*
-  destroy_mspace destroys the given space, and attempts to return all
-  of its memory back to the system, returning the total number of
-  bytes freed. After destruction, the results of access to all memory
-  used by the space become undefined.
-*/
-size_t destroy_mspace(mspace msp);
-
-/*
-  create_mspace_with_base uses the memory supplied as the initial base
-  of a new mspace. Part (less than 128*sizeof(size_t) bytes) of this
-  space is used for bookkeeping, so the capacity must be at least this
-  large. (Otherwise 0 is returned.) When this initial space is
-  exhausted, additional memory will be obtained from the system.
-  Destroying this space will deallocate all additionally allocated
-  space (if possible) but not the initial base.
-*/
-mspace create_mspace_with_base(void* base, size_t capacity, int locked);
-
-/*
-  mspace_malloc behaves as malloc, but operates within
-  the given space.
-*/
-void* mspace_malloc(mspace msp, size_t bytes);
-
-/*
-  mspace_free behaves as free, but operates within
-  the given space.
-
-  If compiled with FOOTERS==1, mspace_free is not actually needed.
-  free may be called instead of mspace_free because freed chunks from
-  any space are handled by their originating spaces.
-*/
-void mspace_free(mspace msp, void* mem);
-
-/*
-  mspace_realloc behaves as realloc, but operates within
-  the given space.
-
-  If compiled with FOOTERS==1, mspace_realloc is not actually
-  needed.  realloc may be called instead of mspace_realloc because
-  realloced chunks from any space are handled by their originating
-  spaces.
-*/
-void* mspace_realloc(mspace msp, void* mem, size_t newsize);
-
-/*
-  mspace_calloc behaves as calloc, but operates within
-  the given space.
-*/
-void* mspace_calloc(mspace msp, size_t n_elements, size_t elem_size);
-
-/*
-  mspace_memalign behaves as memalign, but operates within
-  the given space.
-*/
-void* mspace_memalign(mspace msp, size_t alignment, size_t bytes);
-
-/*
-  mspace_independent_calloc behaves as independent_calloc, but
-  operates within the given space.
-*/
-void** mspace_independent_calloc(mspace msp, size_t n_elements,
-                                 size_t elem_size, void* chunks[]);
-
-/*
-  mspace_independent_comalloc behaves as independent_comalloc, but
-  operates within the given space.
-*/
-void** mspace_independent_comalloc(mspace msp, size_t n_elements,
-                                   size_t sizes[], void* chunks[]);
-
-/*
-  mspace_footprint() returns the number of bytes obtained from the
-  system for this space.
-*/
-size_t mspace_footprint(mspace msp);
-
-/*
-  mspace_max_footprint() returns the peak number of bytes obtained from the
-  system for this space.
-*/
-size_t mspace_max_footprint(mspace msp);
-
-
-#if !NO_MALLINFO
-/*
-  mspace_mallinfo behaves as mallinfo, but reports properties of
-  the given space.
-*/
-struct mallinfo mspace_mallinfo(mspace msp);
-#endif /* NO_MALLINFO */
-
-/*
-  mspace_malloc_stats behaves as malloc_stats, but reports
-  properties of the given space.
-*/
-void mspace_malloc_stats(mspace msp);
-
-/*
-  mspace_trim behaves as malloc_trim, but
-  operates within the given space.
-*/
-int mspace_trim(mspace msp, size_t pad);
-
-/*
-  An alias for mallopt.
-*/
-int mspace_mallopt(int, int);
-
-#endif /* MSPACES */
-
-#ifdef __cplusplus
-};  /* end of extern "C" */
-#endif /* __cplusplus */
-
-/*
-  ========================================================================
-  To make a fully customizable malloc.h header file, cut everything
-  above this line, put into file malloc.h, edit to suit, and #include it
-  on the next line, as well as in programs that use this malloc.
-  ========================================================================
-*/
-
-/* #include "malloc.h" */
-
-/*------------------------------ internal #includes ---------------------- */
-
-#ifdef _MSC_VER
-#pragma warning( disable : 4146 ) /* no "unsigned" warnings */
-#endif /* _MSC_VER */
-
-#include <stdio.h>       /* for printing in malloc_stats */
-
-#ifndef LACKS_ERRNO_H
-#include <errno.h>       /* for MALLOC_FAILURE_ACTION */
-#endif /* LACKS_ERRNO_H */
-#if FOOTERS
-#include <time.h>        /* for magic initialization */
-#endif /* FOOTERS */
-#ifndef LACKS_STDLIB_H
-#include <stdlib.h>      /* for abort() */
-#endif /* LACKS_STDLIB_H */
-#ifdef DEBUG
-#if ABORT_ON_ASSERT_FAILURE
-#define assert(x) if(!(x)) ABORT
-#else /* ABORT_ON_ASSERT_FAILURE */
-#include <assert.h>
-#endif /* ABORT_ON_ASSERT_FAILURE */
-#else  /* DEBUG */
-#define assert(x)
-#endif /* DEBUG */
-#ifndef LACKS_STRING_H
-#include <string.h>      /* for memset etc */
-#endif  /* LACKS_STRING_H */
-#if USE_BUILTIN_FFS
-#ifndef LACKS_STRINGS_H
-#include <strings.h>     /* for ffs */
-#endif /* LACKS_STRINGS_H */
-#endif /* USE_BUILTIN_FFS */
-#if HAVE_MMAP
-#ifndef LACKS_SYS_MMAN_H
-#include <sys/mman.h>    /* for mmap */
-#endif /* LACKS_SYS_MMAN_H */
-#ifndef LACKS_FCNTL_H
-#include <fcntl.h>
-#endif /* LACKS_FCNTL_H */
-#endif /* HAVE_MMAP */
-#if HAVE_MORECORE
-#ifndef LACKS_UNISTD_H
-#include <unistd.h>     /* for sbrk */
-#else /* LACKS_UNISTD_H */
-#if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)
-extern void*     sbrk(ptrdiff_t);
-#endif /* FreeBSD etc */
-#endif /* LACKS_UNISTD_H */
-#endif /* HAVE_MMAP */
-
-#ifndef WIN32
-#ifndef malloc_getpagesize
-#  ifdef _SC_PAGESIZE         /* some SVR4 systems omit an underscore */
-#    ifndef _SC_PAGE_SIZE
-#      define _SC_PAGE_SIZE _SC_PAGESIZE
-#    endif
-#  endif
-#  ifdef _SC_PAGE_SIZE
-#    define malloc_getpagesize sysconf(_SC_PAGE_SIZE)
-#  else
-#    if defined(BSD) || defined(DGUX) || defined(HAVE_GETPAGESIZE)
-       extern size_t getpagesize();
-#      define malloc_getpagesize getpagesize()
-#    else
-#      ifdef WIN32 /* use supplied emulation of getpagesize */
-#        define malloc_getpagesize getpagesize()
-#      else
-#        ifndef LACKS_SYS_PARAM_H
-#          include <sys/param.h>
-#        endif
-#        ifdef EXEC_PAGESIZE
-#          define malloc_getpagesize EXEC_PAGESIZE
-#        else
-#          ifdef NBPG
-#            ifndef CLSIZE
-#              define malloc_getpagesize NBPG
-#            else
-#              define malloc_getpagesize (NBPG * CLSIZE)
-#            endif
-#          else
-#            ifdef NBPC
-#              define malloc_getpagesize NBPC
-#            else
-#              ifdef PAGESIZE
-#                define malloc_getpagesize PAGESIZE
-#              else /* just guess */
-#                define malloc_getpagesize ((size_t)4096U)
-#              endif
-#            endif
-#          endif
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-#endif
-
-/* ------------------- size_t and alignment properties -------------------- */
-
-/* The byte and bit size of a size_t */
-#define SIZE_T_SIZE         (sizeof(size_t))
-#define SIZE_T_BITSIZE      (sizeof(size_t) << 3)
-
-/* Some constants coerced to size_t */
-/* Annoying but necessary to avoid errors on some plaftorms */
-#define SIZE_T_ZERO         ((size_t)0)
-#define SIZE_T_ONE          ((size_t)1)
-#define SIZE_T_TWO          ((size_t)2)
-#define TWO_SIZE_T_SIZES    (SIZE_T_SIZE<<1)
-#define FOUR_SIZE_T_SIZES   (SIZE_T_SIZE<<2)
-#define SIX_SIZE_T_SIZES    (FOUR_SIZE_T_SIZES+TWO_SIZE_T_SIZES)
-#define HALF_MAX_SIZE_T     (MAX_SIZE_T / 2U)
-
-/* The bit mask value corresponding to MALLOC_ALIGNMENT */
-#define CHUNK_ALIGN_MASK    (MALLOC_ALIGNMENT - SIZE_T_ONE)
-
-/* True if address a has acceptable alignment */
-#define is_aligned(A)       (((size_t)((A)) & (CHUNK_ALIGN_MASK)) == 0)
-
-/* the number of bytes to offset an address to align it */
-#define align_offset(A)\
- ((((size_t)(A) & CHUNK_ALIGN_MASK) == 0)? 0 :\
-  ((MALLOC_ALIGNMENT - ((size_t)(A) & CHUNK_ALIGN_MASK)) & CHUNK_ALIGN_MASK))
-
-/* -------------------------- MMAP preliminaries ------------------------- */
-
-/*
-   If HAVE_MORECORE or HAVE_MMAP are false, we just define calls and
-   checks to fail so compiler optimizer can delete code rather than
-   using so many "#if"s.
-*/
-
-
-/* MORECORE and MMAP must return MFAIL on failure */
-#define MFAIL                ((void*)(MAX_SIZE_T))
-#define CMFAIL               ((char*)(MFAIL)) /* defined for convenience */
-
-#if !HAVE_MMAP
-#define IS_MMAPPED_BIT       (SIZE_T_ZERO)
-#define USE_MMAP_BIT         (SIZE_T_ZERO)
-#define CALL_MMAP(s)         MFAIL
-#define CALL_MUNMAP(a, s)    (-1)
-#define DIRECT_MMAP(s)       MFAIL
-
-#else /* HAVE_MMAP */
-#define IS_MMAPPED_BIT       (SIZE_T_ONE)
-#define USE_MMAP_BIT         (SIZE_T_ONE)
-
-#if !defined(WIN32) && !defined (__OS2__)
-#define CALL_MUNMAP(a, s)    munmap((a), (s))
-#define MMAP_PROT            (PROT_READ|PROT_WRITE)
-#if !defined(MAP_ANONYMOUS) && defined(MAP_ANON)
-#define MAP_ANONYMOUS        MAP_ANON
-#endif /* MAP_ANON */
-#ifdef MAP_ANONYMOUS
-#define MMAP_FLAGS           (MAP_PRIVATE|MAP_ANONYMOUS)
-#define CALL_MMAP(s)         mmap(0, (s), MMAP_PROT, MMAP_FLAGS, -1, 0)
-#else /* MAP_ANONYMOUS */
-/*
-   Nearly all versions of mmap support MAP_ANONYMOUS, so the following
-   is unlikely to be needed, but is supplied just in case.
-*/
-#define MMAP_FLAGS           (MAP_PRIVATE)
-static int dev_zero_fd = -1; /* Cached file descriptor for /dev/zero. */
-#define CALL_MMAP(s) ((dev_zero_fd < 0) ? \
-           (dev_zero_fd = open("/dev/zero", O_RDWR), \
-            mmap(0, (s), MMAP_PROT, MMAP_FLAGS, dev_zero_fd, 0)) : \
-            mmap(0, (s), MMAP_PROT, MMAP_FLAGS, dev_zero_fd, 0))
-#endif /* MAP_ANONYMOUS */
-
-#define DIRECT_MMAP(s)       CALL_MMAP(s)
-
-#elif defined(__OS2__)
-
-/* OS/2 MMAP via DosAllocMem */
-static void* os2mmap(size_t size) {
-  void* ptr;
-  if (DosAllocMem(&ptr, size, OBJ_ANY|PAG_COMMIT|PAG_READ|PAG_WRITE) &&
-      DosAllocMem(&ptr, size, PAG_COMMIT|PAG_READ|PAG_WRITE))
-    return MFAIL;
-  return ptr;
-}
-
-#define os2direct_mmap(n)     os2mmap(n)
-
-/* This function supports releasing coalesed segments */
-static int os2munmap(void* ptr, size_t size) {
-  while (size) {
-    ULONG ulSize = size;
-    ULONG ulFlags = 0;
-    if (DosQueryMem(ptr, &ulSize, &ulFlags) != 0)
-      return -1;
-    if ((ulFlags & PAG_BASE) == 0 ||(ulFlags & PAG_COMMIT) == 0 ||
-        ulSize > size)
-      return -1;
-    if (DosFreeMem(ptr) != 0)
-      return -1;
-    ptr = ( void * ) ( ( char * ) ptr + ulSize );
-    size -= ulSize;
-  }
-  return 0;
-}
-
-#define CALL_MMAP(s)         os2mmap(s)
-#define CALL_MUNMAP(a, s)    os2munmap((a), (s))
-#define DIRECT_MMAP(s)       os2direct_mmap(s)
-
-#else /* WIN32 */
-
-/* Win32 MMAP via VirtualAlloc */
-static void* win32mmap(size_t size) {
-  void* ptr = VirtualAlloc(0, size, MEM_RESERVE|MEM_COMMIT, PAGE_EXECUTE_READWRITE);
-  return (ptr != 0)? ptr: MFAIL;
-}
-
-/* For direct MMAP, use MEM_TOP_DOWN to minimize interference */
-static void* win32direct_mmap(size_t size) {
-  void* ptr = VirtualAlloc(0, size, MEM_RESERVE|MEM_COMMIT|MEM_TOP_DOWN,
-                           PAGE_EXECUTE_READWRITE);
-  return (ptr != 0)? ptr: MFAIL;
-}
-
-/* This function supports releasing coalesed segments */
-static int win32munmap(void* ptr, size_t size) {
-  MEMORY_BASIC_INFORMATION minfo;
-  char* cptr = ptr;
-  while (size) {
-    if (VirtualQuery(cptr, &minfo, sizeof(minfo)) == 0)
-      return -1;
-    if (minfo.BaseAddress != cptr || minfo.AllocationBase != cptr ||
-        minfo.State != MEM_COMMIT || minfo.RegionSize > size)
-      return -1;
-    if (VirtualFree(cptr, 0, MEM_RELEASE) == 0)
-      return -1;
-    cptr += minfo.RegionSize;
-    size -= minfo.RegionSize;
-  }
-  return 0;
-}
-
-#define CALL_MMAP(s)         win32mmap(s)
-#define CALL_MUNMAP(a, s)    win32munmap((a), (s))
-#define DIRECT_MMAP(s)       win32direct_mmap(s)
-#endif /* WIN32 */
-#endif /* HAVE_MMAP */
-
-#if HAVE_MMAP && HAVE_MREMAP
-#define CALL_MREMAP(addr, osz, nsz, mv) mremap((addr), (osz), (nsz), (mv))
-#else  /* HAVE_MMAP && HAVE_MREMAP */
-#define CALL_MREMAP(addr, osz, nsz, mv) MFAIL
-#endif /* HAVE_MMAP && HAVE_MREMAP */
-
-#if HAVE_MORECORE
-#define CALL_MORECORE(S)     MORECORE(S)
-#else  /* HAVE_MORECORE */
-#define CALL_MORECORE(S)     MFAIL
-#endif /* HAVE_MORECORE */
-
-/* mstate bit set if continguous morecore disabled or failed */
-#define USE_NONCONTIGUOUS_BIT (4U)
-
-/* segment bit set in create_mspace_with_base */
-#define EXTERN_BIT            (8U)
-
-
-/* --------------------------- Lock preliminaries ------------------------ */
-
-#if USE_LOCKS
-
-/*
-  When locks are defined, there are up to two global locks:
-
-  * If HAVE_MORECORE, morecore_mutex protects sequences of calls to
-    MORECORE.  In many cases sys_alloc requires two calls, that should
-    not be interleaved with calls by other threads.  This does not
-    protect against direct calls to MORECORE by other threads not
-    using this lock, so there is still code to cope the best we can on
-    interference.
-
-  * magic_init_mutex ensures that mparams.magic and other
-    unique mparams values are initialized only once.
-*/
-
-#if !defined(WIN32) && !defined(__OS2__)
-/* By default use posix locks */
-#include <pthread.h>
-#define MLOCK_T pthread_mutex_t
-#define INITIAL_LOCK(l)      pthread_mutex_init(l, NULL)
-#define ACQUIRE_LOCK(l)      pthread_mutex_lock(l)
-#define RELEASE_LOCK(l)      pthread_mutex_unlock(l)
-
-#if HAVE_MORECORE
-static MLOCK_T morecore_mutex = PTHREAD_MUTEX_INITIALIZER;
-#endif /* HAVE_MORECORE */
-
-static MLOCK_T magic_init_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-#elif defined(__OS2__)
-#define MLOCK_T HMTX
-#define INITIAL_LOCK(l)      DosCreateMutexSem(0, l, 0, FALSE)
-#define ACQUIRE_LOCK(l)      DosRequestMutexSem(*l, SEM_INDEFINITE_WAIT)
-#define RELEASE_LOCK(l)      DosReleaseMutexSem(*l)
-#if HAVE_MORECORE
-static MLOCK_T morecore_mutex;
-#endif /* HAVE_MORECORE */
-static MLOCK_T magic_init_mutex;
-
-#else /* WIN32 */
-/*
-   Because lock-protected regions have bounded times, and there
-   are no recursive lock calls, we can use simple spinlocks.
-*/
-
-#define MLOCK_T long
-static int win32_acquire_lock (MLOCK_T *sl) {
-  for (;;) {
-#ifdef InterlockedCompareExchangePointer
-    if (!InterlockedCompareExchange(sl, 1, 0))
-      return 0;
-#else  /* Use older void* version */
-    if (!InterlockedCompareExchange((void**)sl, (void*)1, (void*)0))
-      return 0;
-#endif /* InterlockedCompareExchangePointer */
-    Sleep (0);
-  }
-}
-
-static void win32_release_lock (MLOCK_T *sl) {
-  InterlockedExchange (sl, 0);
-}
-
-#define INITIAL_LOCK(l)      *(l)=0
-#define ACQUIRE_LOCK(l)      win32_acquire_lock(l)
-#define RELEASE_LOCK(l)      win32_release_lock(l)
-#if HAVE_MORECORE
-static MLOCK_T morecore_mutex;
-#endif /* HAVE_MORECORE */
-static MLOCK_T magic_init_mutex;
-#endif /* WIN32 */
-
-#define USE_LOCK_BIT               (2U)
-#else  /* USE_LOCKS */
-#define USE_LOCK_BIT               (0U)
-#define INITIAL_LOCK(l)
-#endif /* USE_LOCKS */
-
-#if USE_LOCKS && HAVE_MORECORE
-#define ACQUIRE_MORECORE_LOCK()    ACQUIRE_LOCK(&morecore_mutex);
-#define RELEASE_MORECORE_LOCK()    RELEASE_LOCK(&morecore_mutex);
-#else /* USE_LOCKS && HAVE_MORECORE */
-#define ACQUIRE_MORECORE_LOCK()
-#define RELEASE_MORECORE_LOCK()
-#endif /* USE_LOCKS && HAVE_MORECORE */
-
-#if USE_LOCKS
-#define ACQUIRE_MAGIC_INIT_LOCK()  ACQUIRE_LOCK(&magic_init_mutex);
-#define RELEASE_MAGIC_INIT_LOCK()  RELEASE_LOCK(&magic_init_mutex);
-#else  /* USE_LOCKS */
-#define ACQUIRE_MAGIC_INIT_LOCK()
-#define RELEASE_MAGIC_INIT_LOCK()
-#endif /* USE_LOCKS */
-
-
-/* -----------------------  Chunk representations ------------------------ */
-
-/*
-  (The following includes lightly edited explanations by Colin Plumb.)
-
-  The malloc_chunk declaration below is misleading (but accurate and
-  necessary).  It declares a "view" into memory allowing access to
-  necessary fields at known offsets from a given base.
-
-  Chunks of memory are maintained using a `boundary tag' method as
-  originally described by Knuth.  (See the paper by Paul Wilson
-  ftp://ftp.cs.utexas.edu/pub/garbage/allocsrv.ps for a survey of such
-  techniques.)  Sizes of free chunks are stored both in the front of
-  each chunk and at the end.  This makes consolidating fragmented
-  chunks into bigger chunks fast.  The head fields also hold bits
-  representing whether chunks are free or in use.
-
-  Here are some pictures to make it clearer.  They are "exploded" to
-  show that the state of a chunk can be thought of as extending from
-  the high 31 bits of the head field of its header through the
-  prev_foot and PINUSE_BIT bit of the following chunk header.
-
-  A chunk that's in use looks like:
-
-   chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-           | Size of previous chunk (if P = 1)                             |
-           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |P|
-         | Size of this chunk                                         1| +-+
-   mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-         |                                                               |
-         +-                                                             -+
-         |                                                               |
-         +-                                                             -+
-         |                                                               :
-         +-      size - sizeof(size_t) available payload bytes          -+
-         :                                                               |
- chunk-> +-                                                             -+
-         |                                                               |
-         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1|
-       | Size of next chunk (may or may not be in use)               | +-+
- mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
-    And if it's free, it looks like this:
-
-   chunk-> +-                                                             -+
-           | User payload (must be in use, or we would have merged!)       |
-           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |P|
-         | Size of this chunk                                         0| +-+
-   mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-         | Next pointer                                                  |
-         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-         | Prev pointer                                                  |
-         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-         |                                                               :
-         +-      size - sizeof(struct chunk) unused bytes               -+
-         :                                                               |
- chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-         | Size of this chunk                                            |
-         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0|
-       | Size of next chunk (must be in use, or we would have merged)| +-+
- mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-       |                                                               :
-       +- User payload                                                -+
-       :                                                               |
-       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-                                                                     |0|
-                                                                     +-+
-  Note that since we always merge adjacent free chunks, the chunks
-  adjacent to a free chunk must be in use.
-
-  Given a pointer to a chunk (which can be derived trivially from the
-  payload pointer) we can, in O(1) time, find out whether the adjacent
-  chunks are free, and if so, unlink them from the lists that they
-  are on and merge them with the current chunk.
-
-  Chunks always begin on even word boundaries, so the mem portion
-  (which is returned to the user) is also on an even word boundary, and
-  thus at least double-word aligned.
-
-  The P (PINUSE_BIT) bit, stored in the unused low-order bit of the
-  chunk size (which is always a multiple of two words), is an in-use
-  bit for the *previous* chunk.  If that bit is *clear*, then the
-  word before the current chunk size contains the previous chunk
-  size, and can be used to find the front of the previous chunk.
-  The very first chunk allocated always has this bit set, preventing
-  access to non-existent (or non-owned) memory. If pinuse is set for
-  any given chunk, then you CANNOT determine the size of the
-  previous chunk, and might even get a memory addressing fault when
-  trying to do so.
-
-  The C (CINUSE_BIT) bit, stored in the unused second-lowest bit of
-  the chunk size redundantly records whether the current chunk is
-  inuse. This redundancy enables usage checks within free and realloc,
-  and reduces indirection when freeing and consolidating chunks.
-
-  Each freshly allocated chunk must have both cinuse and pinuse set.
-  That is, each allocated chunk borders either a previously allocated
-  and still in-use chunk, or the base of its memory arena. This is
-  ensured by making all allocations from the the `lowest' part of any
-  found chunk.  Further, no free chunk physically borders another one,
-  so each free chunk is known to be preceded and followed by either
-  inuse chunks or the ends of memory.
-
-  Note that the `foot' of the current chunk is actually represented
-  as the prev_foot of the NEXT chunk. This makes it easier to
-  deal with alignments etc but can be very confusing when trying
-  to extend or adapt this code.
-
-  The exceptions to all this are
-
-     1. The special chunk `top' is the top-most available chunk (i.e.,
-        the one bordering the end of available memory). It is treated
-        specially.  Top is never included in any bin, is used only if
-        no other chunk is available, and is released back to the
-        system if it is very large (see M_TRIM_THRESHOLD).  In effect,
-        the top chunk is treated as larger (and thus less well
-        fitting) than any other available chunk.  The top chunk
-        doesn't update its trailing size field since there is no next
-        contiguous chunk that would have to index off it. However,
-        space is still allocated for it (TOP_FOOT_SIZE) to enable
-        separation or merging when space is extended.
-
-     3. Chunks allocated via mmap, which have the lowest-order bit
-        (IS_MMAPPED_BIT) set in their prev_foot fields, and do not set
-        PINUSE_BIT in their head fields.  Because they are allocated
-        one-by-one, each must carry its own prev_foot field, which is
-        also used to hold the offset this chunk has within its mmapped
-        region, which is needed to preserve alignment. Each mmapped
-        chunk is trailed by the first two fields of a fake next-chunk
-        for sake of usage checks.
-
-*/
-
-struct malloc_chunk {
-  size_t               prev_foot;  /* Size of previous chunk (if free).  */
-  size_t               head;       /* Size and inuse bits. */
-  struct malloc_chunk* fd;         /* double links -- used only if free. */
-  struct malloc_chunk* bk;
-};
-
-typedef struct malloc_chunk  mchunk;
-typedef struct malloc_chunk* mchunkptr;
-typedef struct malloc_chunk* sbinptr;  /* The type of bins of chunks */
-typedef unsigned int bindex_t;         /* Described below */
-typedef unsigned int binmap_t;         /* Described below */
-typedef unsigned int flag_t;           /* The type of various bit flag sets */
-
-/* ------------------- Chunks sizes and alignments ----------------------- */
-
-#define MCHUNK_SIZE         (sizeof(mchunk))
-
-#if FOOTERS
-#define CHUNK_OVERHEAD      (TWO_SIZE_T_SIZES)
-#else /* FOOTERS */
-#define CHUNK_OVERHEAD      (SIZE_T_SIZE)
-#endif /* FOOTERS */
-
-/* MMapped chunks need a second word of overhead ... */
-#define MMAP_CHUNK_OVERHEAD (TWO_SIZE_T_SIZES)
-/* ... and additional padding for fake next-chunk at foot */
-#define MMAP_FOOT_PAD       (FOUR_SIZE_T_SIZES)
-
-/* The smallest size we can malloc is an aligned minimal chunk */
-#define MIN_CHUNK_SIZE\
-  ((MCHUNK_SIZE + CHUNK_ALIGN_MASK) & ~CHUNK_ALIGN_MASK)
-
-/* conversion from malloc headers to user pointers, and back */
-#define chunk2mem(p)        ((void*)((char*)(p)       + TWO_SIZE_T_SIZES))
-#define mem2chunk(mem)      ((mchunkptr)((char*)(mem) - TWO_SIZE_T_SIZES))
-/* chunk associated with aligned address A */
-#define align_as_chunk(A)   (mchunkptr)((A) + align_offset(chunk2mem(A)))
-
-/* Bounds on request (not chunk) sizes. */
-#define MAX_REQUEST         ((-MIN_CHUNK_SIZE) << 2)
-#define MIN_REQUEST         (MIN_CHUNK_SIZE - CHUNK_OVERHEAD - SIZE_T_ONE)
-
-/* pad request bytes into a usable size */
-#define pad_request(req) \
-   (((req) + CHUNK_OVERHEAD + CHUNK_ALIGN_MASK) & ~CHUNK_ALIGN_MASK)
-
-/* pad request, checking for minimum (but not maximum) */
-#define request2size(req) \
-  (((req) < MIN_REQUEST)? MIN_CHUNK_SIZE : pad_request(req))
-
-
-/* ------------------ Operations on head and foot fields ----------------- */
-
-/*
-  The head field of a chunk is or'ed with PINUSE_BIT when previous
-  adjacent chunk in use, and or'ed with CINUSE_BIT if this chunk is in
-  use. If the chunk was obtained with mmap, the prev_foot field has
-  IS_MMAPPED_BIT set, otherwise holding the offset of the base of the
-  mmapped region to the base of the chunk.
-*/
-
-#define PINUSE_BIT          (SIZE_T_ONE)
-#define CINUSE_BIT          (SIZE_T_TWO)
-#define INUSE_BITS          (PINUSE_BIT|CINUSE_BIT)
-
-/* Head value for fenceposts */
-#define FENCEPOST_HEAD      (INUSE_BITS|SIZE_T_SIZE)
-
-/* extraction of fields from head words */
-#define cinuse(p)           ((p)->head & CINUSE_BIT)
-#define pinuse(p)           ((p)->head & PINUSE_BIT)
-#define chunksize(p)        ((p)->head & ~(INUSE_BITS))
-
-#define clear_pinuse(p)     ((p)->head &= ~PINUSE_BIT)
-#define clear_cinuse(p)     ((p)->head &= ~CINUSE_BIT)
-
-/* Treat space at ptr +/- offset as a chunk */
-#define chunk_plus_offset(p, s)  ((mchunkptr)(((char*)(p)) + (s)))
-#define chunk_minus_offset(p, s) ((mchunkptr)(((char*)(p)) - (s)))
-
-/* Ptr to next or previous physical malloc_chunk. */
-#define next_chunk(p) ((mchunkptr)( ((char*)(p)) + ((p)->head & ~INUSE_BITS)))
-#define prev_chunk(p) ((mchunkptr)( ((char*)(p)) - ((p)->prev_foot) ))
-
-/* extract next chunk's pinuse bit */
-#define next_pinuse(p)  ((next_chunk(p)->head) & PINUSE_BIT)
-
-/* Get/set size at footer */
-#define get_foot(p, s)  (((mchunkptr)((char*)(p) + (s)))->prev_foot)
-#define set_foot(p, s)  (((mchunkptr)((char*)(p) + (s)))->prev_foot = (s))
-
-/* Set size, pinuse bit, and foot */
-#define set_size_and_pinuse_of_free_chunk(p, s)\
-  ((p)->head = (s|PINUSE_BIT), set_foot(p, s))
-
-/* Set size, pinuse bit, foot, and clear next pinuse */
-#define set_free_with_pinuse(p, s, n)\
-  (clear_pinuse(n), set_size_and_pinuse_of_free_chunk(p, s))
-
-#define is_mmapped(p)\
-  (!((p)->head & PINUSE_BIT) && ((p)->prev_foot & IS_MMAPPED_BIT))
-
-/* Get the internal overhead associated with chunk p */
-#define overhead_for(p)\
- (is_mmapped(p)? MMAP_CHUNK_OVERHEAD : CHUNK_OVERHEAD)
-
-/* Return true if malloced space is not necessarily cleared */
-#if MMAP_CLEARS
-#define calloc_must_clear(p) (!is_mmapped(p))
-#else /* MMAP_CLEARS */
-#define calloc_must_clear(p) (1)
-#endif /* MMAP_CLEARS */
-
-/* ---------------------- Overlaid data structures ----------------------- */
-
-/*
-  When chunks are not in use, they are treated as nodes of either
-  lists or trees.
-
-  "Small"  chunks are stored in circular doubly-linked lists, and look
-  like this:
-
-    chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-            |             Size of previous chunk                            |
-            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-    `head:' |             Size of chunk, in bytes                         |P|
-      mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-            |             Forward pointer to next chunk in list             |
-            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-            |             Back pointer to previous chunk in list            |
-            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-            |             Unused space (may be 0 bytes long)                .
-            .                                                               .
-            .                                                               |
-nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-    `foot:' |             Size of chunk, in bytes                           |
-            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
-  Larger chunks are kept in a form of bitwise digital trees (aka
-  tries) keyed on chunksizes.  Because malloc_tree_chunks are only for
-  free chunks greater than 256 bytes, their size doesn't impose any
-  constraints on user chunk sizes.  Each node looks like:
-
-    chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-            |             Size of previous chunk                            |
-            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-    `head:' |             Size of chunk, in bytes                         |P|
-      mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-            |             Forward pointer to next chunk of same size        |
-            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-            |             Back pointer to previous chunk of same size       |
-            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-            |             Pointer to left child (child[0])                  |
-            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-            |             Pointer to right child (child[1])                 |
-            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-            |             Pointer to parent                                 |
-            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-            |             bin index of this chunk                           |
-            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-            |             Unused space                                      .
-            .                                                               |
-nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-    `foot:' |             Size of chunk, in bytes                           |
-            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
-  Each tree holding treenodes is a tree of unique chunk sizes.  Chunks
-  of the same size are arranged in a circularly-linked list, with only
-  the oldest chunk (the next to be used, in our FIFO ordering)
-  actually in the tree.  (Tree members are distinguished by a non-null
-  parent pointer.)  If a chunk with the same size an an existing node
-  is inserted, it is linked off the existing node using pointers that
-  work in the same way as fd/bk pointers of small chunks.
-
-  Each tree contains a power of 2 sized range of chunk sizes (the
-  smallest is 0x100 <= x < 0x180), which is is divided in half at each
-  tree level, with the chunks in the smaller half of the range (0x100
-  <= x < 0x140 for the top nose) in the left subtree and the larger
-  half (0x140 <= x < 0x180) in the right subtree.  This is, of course,
-  done by inspecting individual bits.
-
-  Using these rules, each node's left subtree contains all smaller
-  sizes than its right subtree.  However, the node at the root of each
-  subtree has no particular ordering relationship to either.  (The
-  dividing line between the subtree sizes is based on trie relation.)
-  If we remove the last chunk of a given size from the interior of the
-  tree, we need to replace it with a leaf node.  The tree ordering
-  rules permit a node to be replaced by any leaf below it.
-
-  The smallest chunk in a tree (a common operation in a best-fit
-  allocator) can be found by walking a path to the leftmost leaf in
-  the tree.  Unlike a usual binary tree, where we follow left child
-  pointers until we reach a null, here we follow the right child
-  pointer any time the left one is null, until we reach a leaf with
-  both child pointers null. The smallest chunk in the tree will be
-  somewhere along that path.
-
-  The worst case number of steps to add, find, or remove a node is
-  bounded by the number of bits differentiating chunks within
-  bins. Under current bin calculations, this ranges from 6 up to 21
-  (for 32 bit sizes) or up to 53 (for 64 bit sizes). The typical case
-  is of course much better.
-*/
-
-struct malloc_tree_chunk {
-  /* The first four fields must be compatible with malloc_chunk */
-  size_t                    prev_foot;
-  size_t                    head;
-  struct malloc_tree_chunk* fd;
-  struct malloc_tree_chunk* bk;
-
-  struct malloc_tree_chunk* child[2];
-  struct malloc_tree_chunk* parent;
-  bindex_t                  index;
-};
-
-typedef struct malloc_tree_chunk  tchunk;
-typedef struct malloc_tree_chunk* tchunkptr;
-typedef struct malloc_tree_chunk* tbinptr; /* The type of bins of trees */
-
-/* A little helper macro for trees */
-#define leftmost_child(t) ((t)->child[0] != 0? (t)->child[0] : (t)->child[1])
-
-/* ----------------------------- Segments -------------------------------- */
-
-/*
-  Each malloc space may include non-contiguous segments, held in a
-  list headed by an embedded malloc_segment record representing the
-  top-most space. Segments also include flags holding properties of
-  the space. Large chunks that are directly allocated by mmap are not
-  included in this list. They are instead independently created and
-  destroyed without otherwise keeping track of them.
-
-  Segment management mainly comes into play for spaces allocated by
-  MMAP.  Any call to MMAP might or might not return memory that is
-  adjacent to an existing segment.  MORECORE normally contiguously
-  extends the current space, so this space is almost always adjacent,
-  which is simpler and faster to deal with. (This is why MORECORE is
-  used preferentially to MMAP when both are available -- see
-  sys_alloc.)  When allocating using MMAP, we don't use any of the
-  hinting mechanisms (inconsistently) supported in various
-  implementations of unix mmap, or distinguish reserving from
-  committing memory. Instead, we just ask for space, and exploit
-  contiguity when we get it.  It is probably possible to do
-  better than this on some systems, but no general scheme seems
-  to be significantly better.
-
-  Management entails a simpler variant of the consolidation scheme
-  used for chunks to reduce fragmentation -- new adjacent memory is
-  normally prepended or appended to an existing segment. However,
-  there are limitations compared to chunk consolidation that mostly
-  reflect the fact that segment processing is relatively infrequent
-  (occurring only when getting memory from system) and that we
-  don't expect to have huge numbers of segments:
-
-  * Segments are not indexed, so traversal requires linear scans.  (It
-    would be possible to index these, but is not worth the extra
-    overhead and complexity for most programs on most platforms.)
-  * New segments are only appended to old ones when holding top-most
-    memory; if they cannot be prepended to others, they are held in
-    different segments.
-
-  Except for the top-most segment of an mstate, each segment record
-  is kept at the tail of its segment. Segments are added by pushing
-  segment records onto the list headed by &mstate.seg for the
-  containing mstate.
-
-  Segment flags control allocation/merge/deallocation policies:
-  * If EXTERN_BIT set, then we did not allocate this segment,
-    and so should not try to deallocate or merge with others.
-    (This currently holds only for the initial segment passed
-    into create_mspace_with_base.)
-  * If IS_MMAPPED_BIT set, the segment may be merged with
-    other surrounding mmapped segments and trimmed/de-allocated
-    using munmap.
-  * If neither bit is set, then the segment was obtained using
-    MORECORE so can be merged with surrounding MORECORE'd segments
-    and deallocated/trimmed using MORECORE with negative arguments.
-*/
-
-struct malloc_segment {
-  char*        base;             /* base address */
-  size_t       size;             /* allocated size */
-  struct malloc_segment* next;   /* ptr to next segment */
-#if FFI_MMAP_EXEC_WRIT
-  /* The mmap magic is supposed to store the address of the executable
-     segment at the very end of the requested block.  */
-
-# define mmap_exec_offset(b,s) (*(ptrdiff_t*)((b)+(s)-sizeof(ptrdiff_t)))
-
-  /* We can only merge segments if their corresponding executable
-     segments are at identical offsets.  */
-# define check_segment_merge(S,b,s) \
-  (mmap_exec_offset((b),(s)) == (S)->exec_offset)
-
-# define add_segment_exec_offset(p,S) ((char*)(p) + (S)->exec_offset)
-# define sub_segment_exec_offset(p,S) ((char*)(p) - (S)->exec_offset)
-
-  /* The removal of sflags only works with HAVE_MORECORE == 0.  */
-
-# define get_segment_flags(S)   (IS_MMAPPED_BIT)
-# define set_segment_flags(S,v) \
-  (((v) != IS_MMAPPED_BIT) ? (ABORT, (v)) :                            \
-   (((S)->exec_offset =                                                        \
-     mmap_exec_offset((S)->base, (S)->size)),                          \
-    (mmap_exec_offset((S)->base + (S)->exec_offset, (S)->size) !=      \
-     (S)->exec_offset) ? (ABORT, (v)) :                                        \
-   (mmap_exec_offset((S)->base, (S)->size) = 0), (v)))
-
-  /* We use an offset here, instead of a pointer, because then, when
-     base changes, we don't have to modify this.  On architectures
-     with segmented addresses, this might not work.  */
-  ptrdiff_t    exec_offset;
-#else
-
-# define get_segment_flags(S)   ((S)->sflags)
-# define set_segment_flags(S,v) ((S)->sflags = (v))
-# define check_segment_merge(S,b,s) (1)
-
-  flag_t       sflags;           /* mmap and extern flag */
-#endif
-};
-
-#define is_mmapped_segment(S)  (get_segment_flags(S) & IS_MMAPPED_BIT)
-#define is_extern_segment(S)   (get_segment_flags(S) & EXTERN_BIT)
-
-typedef struct malloc_segment  msegment;
-typedef struct malloc_segment* msegmentptr;
-
-/* ---------------------------- malloc_state ----------------------------- */
-
-/*
-   A malloc_state holds all of the bookkeeping for a space.
-   The main fields are:
-
-  Top
-    The topmost chunk of the currently active segment. Its size is
-    cached in topsize.  The actual size of topmost space is
-    topsize+TOP_FOOT_SIZE, which includes space reserved for adding
-    fenceposts and segment records if necessary when getting more
-    space from the system.  The size at which to autotrim top is
-    cached from mparams in trim_check, except that it is disabled if
-    an autotrim fails.
-
-  Designated victim (dv)
-    This is the preferred chunk for servicing small requests that
-    don't have exact fits.  It is normally the chunk split off most
-    recently to service another small request.  Its size is cached in
-    dvsize. The link fields of this chunk are not maintained since it
-    is not kept in a bin.
-
-  SmallBins
-    An array of bin headers for free chunks.  These bins hold chunks
-    with sizes less than MIN_LARGE_SIZE bytes. Each bin contains
-    chunks of all the same size, spaced 8 bytes apart.  To simplify
-    use in double-linked lists, each bin header acts as a malloc_chunk
-    pointing to the real first node, if it exists (else pointing to
-    itself).  This avoids special-casing for headers.  But to avoid
-    waste, we allocate only the fd/bk pointers of bins, and then use
-    repositioning tricks to treat these as the fields of a chunk.
-
-  TreeBins
-    Treebins are pointers to the roots of trees holding a range of
-    sizes. There are 2 equally spaced treebins for each power of two
-    from TREE_SHIFT to TREE_SHIFT+16. The last bin holds anything
-    larger.
-
-  Bin maps
-    There is one bit map for small bins ("smallmap") and one for
-    treebins ("treemap).  Each bin sets its bit when non-empty, and
-    clears the bit when empty.  Bit operations are then used to avoid
-    bin-by-bin searching -- nearly all "search" is done without ever
-    looking at bins that won't be selected.  The bit maps
-    conservatively use 32 bits per map word, even if on 64bit system.
-    For a good description of some of the bit-based techniques used
-    here, see Henry S. Warren Jr's book "Hacker's Delight" (and
-    supplement at http://hackersdelight.org/). Many of these are
-    intended to reduce the branchiness of paths through malloc etc, as
-    well as to reduce the number of memory locations read or written.
-
-  Segments
-    A list of segments headed by an embedded malloc_segment record
-    representing the initial space.
-
-  Address check support
-    The least_addr field is the least address ever obtained from
-    MORECORE or MMAP. Attempted frees and reallocs of any address less
-    than this are trapped (unless INSECURE is defined).
-
-  Magic tag
-    A cross-check field that should always hold same value as mparams.magic.
-
-  Flags
-    Bits recording whether to use MMAP, locks, or contiguous MORECORE
-
-  Statistics
-    Each space keeps track of current and maximum system memory
-    obtained via MORECORE or MMAP.
-
-  Locking
-    If USE_LOCKS is defined, the "mutex" lock is acquired and released
-    around every public call using this mspace.
-*/
-
-/* Bin types, widths and sizes */
-#define NSMALLBINS        (32U)
-#define NTREEBINS         (32U)
-#define SMALLBIN_SHIFT    (3U)
-#define SMALLBIN_WIDTH    (SIZE_T_ONE << SMALLBIN_SHIFT)
-#define TREEBIN_SHIFT     (8U)
-#define MIN_LARGE_SIZE    (SIZE_T_ONE << TREEBIN_SHIFT)
-#define MAX_SMALL_SIZE    (MIN_LARGE_SIZE - SIZE_T_ONE)
-#define MAX_SMALL_REQUEST (MAX_SMALL_SIZE - CHUNK_ALIGN_MASK - CHUNK_OVERHEAD)
-
-struct malloc_state {
-  binmap_t   smallmap;
-  binmap_t   treemap;
-  size_t     dvsize;
-  size_t     topsize;
-  char*      least_addr;
-  mchunkptr  dv;
-  mchunkptr  top;
-  size_t     trim_check;
-  size_t     magic;
-  mchunkptr  smallbins[(NSMALLBINS+1)*2];
-  tbinptr    treebins[NTREEBINS];
-  size_t     footprint;
-  size_t     max_footprint;
-  flag_t     mflags;
-#if USE_LOCKS
-  MLOCK_T    mutex;     /* locate lock among fields that rarely change */
-#endif /* USE_LOCKS */
-  msegment   seg;
-};
-
-typedef struct malloc_state*    mstate;
-
-/* ------------- Global malloc_state and malloc_params ------------------- */
-
-/*
-  malloc_params holds global properties, including those that can be
-  dynamically set using mallopt. There is a single instance, mparams,
-  initialized in init_mparams.
-*/
-
-struct malloc_params {
-  size_t magic;
-  size_t page_size;
-  size_t granularity;
-  size_t mmap_threshold;
-  size_t trim_threshold;
-  flag_t default_mflags;
-};
-
-static struct malloc_params mparams;
-
-/* The global malloc_state used for all non-"mspace" calls */
-static struct malloc_state _gm_;
-#define gm                 (&_gm_)
-#define is_global(M)       ((M) == &_gm_)
-#define is_initialized(M)  ((M)->top != 0)
-
-/* -------------------------- system alloc setup ------------------------- */
-
-/* Operations on mflags */
-
-#define use_lock(M)           ((M)->mflags &   USE_LOCK_BIT)
-#define enable_lock(M)        ((M)->mflags |=  USE_LOCK_BIT)
-#define disable_lock(M)       ((M)->mflags &= ~USE_LOCK_BIT)
-
-#define use_mmap(M)           ((M)->mflags &   USE_MMAP_BIT)
-#define enable_mmap(M)        ((M)->mflags |=  USE_MMAP_BIT)
-#define disable_mmap(M)       ((M)->mflags &= ~USE_MMAP_BIT)
-
-#define use_noncontiguous(M)  ((M)->mflags &   USE_NONCONTIGUOUS_BIT)
-#define disable_contiguous(M) ((M)->mflags |=  USE_NONCONTIGUOUS_BIT)
-
-#define set_lock(M,L)\
- ((M)->mflags = (L)?\
-  ((M)->mflags | USE_LOCK_BIT) :\
-  ((M)->mflags & ~USE_LOCK_BIT))
-
-/* page-align a size */
-#define page_align(S)\
- (((S) + (mparams.page_size)) & ~(mparams.page_size - SIZE_T_ONE))
-
-/* granularity-align a size */
-#define granularity_align(S)\
-  (((S) + (mparams.granularity)) & ~(mparams.granularity - SIZE_T_ONE))
-
-#define is_page_aligned(S)\
-   (((size_t)(S) & (mparams.page_size - SIZE_T_ONE)) == 0)
-#define is_granularity_aligned(S)\
-   (((size_t)(S) & (mparams.granularity - SIZE_T_ONE)) == 0)
-
-/*  True if segment S holds address A */
-#define segment_holds(S, A)\
-  ((char*)(A) >= S->base && (char*)(A) < S->base + S->size)
-
-/* Return segment holding given address */
-static msegmentptr segment_holding(mstate m, char* addr) {
-  msegmentptr sp = &m->seg;
-  for (;;) {
-    if (addr >= sp->base && addr < sp->base + sp->size)
-      return sp;
-    if ((sp = sp->next) == 0)
-      return 0;
-  }
-}
-
-/* Return true if segment contains a segment link */
-static int has_segment_link(mstate m, msegmentptr ss) {
-  msegmentptr sp = &m->seg;
-  for (;;) {
-    if ((char*)sp >= ss->base && (char*)sp < ss->base + ss->size)
-      return 1;
-    if ((sp = sp->next) == 0)
-      return 0;
-  }
-}
-
-#ifndef MORECORE_CANNOT_TRIM
-#define should_trim(M,s)  ((s) > (M)->trim_check)
-#else  /* MORECORE_CANNOT_TRIM */
-#define should_trim(M,s)  (0)
-#endif /* MORECORE_CANNOT_TRIM */
-
-/*
-  TOP_FOOT_SIZE is padding at the end of a segment, including space
-  that may be needed to place segment records and fenceposts when new
-  noncontiguous segments are added.
-*/
-#define TOP_FOOT_SIZE\
-  (align_offset(chunk2mem(0))+pad_request(sizeof(struct malloc_segment))+MIN_CHUNK_SIZE)
-
-
-/* -------------------------------  Hooks -------------------------------- */
-
-/*
-  PREACTION should be defined to return 0 on success, and nonzero on
-  failure. If you are not using locking, you can redefine these to do
-  anything you like.
-*/
-
-#if USE_LOCKS
-
-/* Ensure locks are initialized */
-#define GLOBALLY_INITIALIZE() (mparams.page_size == 0 && init_mparams())
-
-#define PREACTION(M)  ((GLOBALLY_INITIALIZE() || use_lock(M))? ACQUIRE_LOCK(&(M)->mutex) : 0)
-#define POSTACTION(M) { if (use_lock(M)) RELEASE_LOCK(&(M)->mutex); }
-#else /* USE_LOCKS */
-
-#ifndef PREACTION
-#define PREACTION(M) (0)
-#endif  /* PREACTION */
-
-#ifndef POSTACTION
-#define POSTACTION(M)
-#endif  /* POSTACTION */
-
-#endif /* USE_LOCKS */
-
-/*
-  CORRUPTION_ERROR_ACTION is triggered upon detected bad addresses.
-  USAGE_ERROR_ACTION is triggered on detected bad frees and
-  reallocs. The argument p is an address that might have triggered the
-  fault. It is ignored by the two predefined actions, but might be
-  useful in custom actions that try to help diagnose errors.
-*/
-
-#if PROCEED_ON_ERROR
-
-/* A count of the number of corruption errors causing resets */
-int malloc_corruption_error_count;
-
-/* default corruption action */
-static void reset_on_error(mstate m);
-
-#define CORRUPTION_ERROR_ACTION(m)  reset_on_error(m)
-#define USAGE_ERROR_ACTION(m, p)
-
-#else /* PROCEED_ON_ERROR */
-
-#ifndef CORRUPTION_ERROR_ACTION
-#define CORRUPTION_ERROR_ACTION(m) ABORT
-#endif /* CORRUPTION_ERROR_ACTION */
-
-#ifndef USAGE_ERROR_ACTION
-#define USAGE_ERROR_ACTION(m,p) ABORT
-#endif /* USAGE_ERROR_ACTION */
-
-#endif /* PROCEED_ON_ERROR */
-
-/* -------------------------- Debugging setup ---------------------------- */
-
-#if ! DEBUG
-
-#define check_free_chunk(M,P)
-#define check_inuse_chunk(M,P)
-#define check_malloced_chunk(M,P,N)
-#define check_mmapped_chunk(M,P)
-#define check_malloc_state(M)
-#define check_top_chunk(M,P)
-
-#else /* DEBUG */
-#define check_free_chunk(M,P)       do_check_free_chunk(M,P)
-#define check_inuse_chunk(M,P)      do_check_inuse_chunk(M,P)
-#define check_top_chunk(M,P)        do_check_top_chunk(M,P)
-#define check_malloced_chunk(M,P,N) do_check_malloced_chunk(M,P,N)
-#define check_mmapped_chunk(M,P)    do_check_mmapped_chunk(M,P)
-#define check_malloc_state(M)       do_check_malloc_state(M)
-
-static void   do_check_any_chunk(mstate m, mchunkptr p);
-static void   do_check_top_chunk(mstate m, mchunkptr p);
-static void   do_check_mmapped_chunk(mstate m, mchunkptr p);
-static void   do_check_inuse_chunk(mstate m, mchunkptr p);
-static void   do_check_free_chunk(mstate m, mchunkptr p);
-static void   do_check_malloced_chunk(mstate m, void* mem, size_t s);
-static void   do_check_tree(mstate m, tchunkptr t);
-static void   do_check_treebin(mstate m, bindex_t i);
-static void   do_check_smallbin(mstate m, bindex_t i);
-static void   do_check_malloc_state(mstate m);
-static int    bin_find(mstate m, mchunkptr x);
-static size_t traverse_and_check(mstate m);
-#endif /* DEBUG */
-
-/* ---------------------------- Indexing Bins ---------------------------- */
-
-#define is_small(s)         (((s) >> SMALLBIN_SHIFT) < NSMALLBINS)
-#define small_index(s)      ((s)  >> SMALLBIN_SHIFT)
-#define small_index2size(i) ((i)  << SMALLBIN_SHIFT)
-#define MIN_SMALL_INDEX     (small_index(MIN_CHUNK_SIZE))
-
-/* addressing by index. See above about smallbin repositioning */
-#define smallbin_at(M, i)   ((sbinptr)((char*)&((M)->smallbins[(i)<<1])))
-#define treebin_at(M,i)     (&((M)->treebins[i]))
-
-/* assign tree index for size S to variable I */
-#if defined(__GNUC__) && defined(i386)
-#define compute_tree_index(S, I)\
-{\
-  size_t X = S >> TREEBIN_SHIFT;\
-  if (X == 0)\
-    I = 0;\
-  else if (X > 0xFFFF)\
-    I = NTREEBINS-1;\
-  else {\
-    unsigned int K;\
-    __asm__("bsrl %1,%0\n\t" : "=r" (K) : "rm"  (X));\
-    I =  (bindex_t)((K << 1) + ((S >> (K + (TREEBIN_SHIFT-1)) & 1)));\
-  }\
-}
-#else /* GNUC */
-#define compute_tree_index(S, I)\
-{\
-  size_t X = S >> TREEBIN_SHIFT;\
-  if (X == 0)\
-    I = 0;\
-  else if (X > 0xFFFF)\
-    I = NTREEBINS-1;\
-  else {\
-    unsigned int Y = (unsigned int)X;\
-    unsigned int N = ((Y - 0x100) >> 16) & 8;\
-    unsigned int K = (((Y <<= N) - 0x1000) >> 16) & 4;\
-    N += K;\
-    N += K = (((Y <<= K) - 0x4000) >> 16) & 2;\
-    K = 14 - N + ((Y <<= K) >> 15);\
-    I = (K << 1) + ((S >> (K + (TREEBIN_SHIFT-1)) & 1));\
-  }\
-}
-#endif /* GNUC */
-
-/* Bit representing maximum resolved size in a treebin at i */
-#define bit_for_tree_index(i) \
-   (i == NTREEBINS-1)? (SIZE_T_BITSIZE-1) : (((i) >> 1) + TREEBIN_SHIFT - 2)
-
-/* Shift placing maximum resolved bit in a treebin at i as sign bit */
-#define leftshift_for_tree_index(i) \
-   ((i == NTREEBINS-1)? 0 : \
-    ((SIZE_T_BITSIZE-SIZE_T_ONE) - (((i) >> 1) + TREEBIN_SHIFT - 2)))
-
-/* The size of the smallest chunk held in bin with index i */
-#define minsize_for_tree_index(i) \
-   ((SIZE_T_ONE << (((i) >> 1) + TREEBIN_SHIFT)) |  \
-   (((size_t)((i) & SIZE_T_ONE)) << (((i) >> 1) + TREEBIN_SHIFT - 1)))
-
-
-/* ------------------------ Operations on bin maps ----------------------- */
-
-/* bit corresponding to given index */
-#define idx2bit(i)              ((binmap_t)(1) << (i))
-
-/* Mark/Clear bits with given index */
-#define mark_smallmap(M,i)      ((M)->smallmap |=  idx2bit(i))
-#define clear_smallmap(M,i)     ((M)->smallmap &= ~idx2bit(i))
-#define smallmap_is_marked(M,i) ((M)->smallmap &   idx2bit(i))
-
-#define mark_treemap(M,i)       ((M)->treemap  |=  idx2bit(i))
-#define clear_treemap(M,i)      ((M)->treemap  &= ~idx2bit(i))
-#define treemap_is_marked(M,i)  ((M)->treemap  &   idx2bit(i))
-
-/* index corresponding to given bit */
-
-#if defined(__GNUC__) && defined(i386)
-#define compute_bit2idx(X, I)\
-{\
-  unsigned int J;\
-  __asm__("bsfl %1,%0\n\t" : "=r" (J) : "rm" (X));\
-  I = (bindex_t)J;\
-}
-
-#else /* GNUC */
-#if  USE_BUILTIN_FFS
-#define compute_bit2idx(X, I) I = ffs(X)-1
-
-#else /* USE_BUILTIN_FFS */
-#define compute_bit2idx(X, I)\
-{\
-  unsigned int Y = X - 1;\
-  unsigned int K = Y >> (16-4) & 16;\
-  unsigned int N = K;        Y >>= K;\
-  N += K = Y >> (8-3) &  8;  Y >>= K;\
-  N += K = Y >> (4-2) &  4;  Y >>= K;\
-  N += K = Y >> (2-1) &  2;  Y >>= K;\
-  N += K = Y >> (1-0) &  1;  Y >>= K;\
-  I = (bindex_t)(N + Y);\
-}
-#endif /* USE_BUILTIN_FFS */
-#endif /* GNUC */
-
-/* isolate the least set bit of a bitmap */
-#define least_bit(x)         ((x) & -(x))
-
-/* mask with all bits to left of least bit of x on */
-#define left_bits(x)         ((x<<1) | -(x<<1))
-
-/* mask with all bits to left of or equal to least bit of x on */
-#define same_or_left_bits(x) ((x) | -(x))
-
-
-/* ----------------------- Runtime Check Support ------------------------- */
-
-/*
-  For security, the main invariant is that malloc/free/etc never
-  writes to a static address other than malloc_state, unless static
-  malloc_state itself has been corrupted, which cannot occur via
-  malloc (because of these checks). In essence this means that we
-  believe all pointers, sizes, maps etc held in malloc_state, but
-  check all of those linked or offsetted from other embedded data
-  structures.  These checks are interspersed with main code in a way
-  that tends to minimize their run-time cost.
-
-  When FOOTERS is defined, in addition to range checking, we also
-  verify footer fields of inuse chunks, which can be used guarantee
-  that the mstate controlling malloc/free is intact.  This is a
-  streamlined version of the approach described by William Robertson
-  et al in "Run-time Detection of Heap-based Overflows" LISA'03
-  http://www.usenix.org/events/lisa03/tech/robertson.html The footer
-  of an inuse chunk holds the xor of its mstate and a random seed,
-  that is checked upon calls to free() and realloc().  This is
-  (probablistically) unguessable from outside the program, but can be
-  computed by any code successfully malloc'ing any chunk, so does not
-  itself provide protection against code that has already broken
-  security through some other means.  Unlike Robertson et al, we
-  always dynamically check addresses of all offset chunks (previous,
-  next, etc). This turns out to be cheaper than relying on hashes.
-*/
-
-#if !INSECURE
-/* Check if address a is at least as high as any from MORECORE or MMAP */
-#define ok_address(M, a) ((char*)(a) >= (M)->least_addr)
-/* Check if address of next chunk n is higher than base chunk p */
-#define ok_next(p, n)    ((char*)(p) < (char*)(n))
-/* Check if p has its cinuse bit on */
-#define ok_cinuse(p)     cinuse(p)
-/* Check if p has its pinuse bit on */
-#define ok_pinuse(p)     pinuse(p)
-
-#else /* !INSECURE */
-#define ok_address(M, a) (1)
-#define ok_next(b, n)    (1)
-#define ok_cinuse(p)     (1)
-#define ok_pinuse(p)     (1)
-#endif /* !INSECURE */
-
-#if (FOOTERS && !INSECURE)
-/* Check if (alleged) mstate m has expected magic field */
-#define ok_magic(M)      ((M)->magic == mparams.magic)
-#else  /* (FOOTERS && !INSECURE) */
-#define ok_magic(M)      (1)
-#endif /* (FOOTERS && !INSECURE) */
-
-
-/* In gcc, use __builtin_expect to minimize impact of checks */
-#if !INSECURE
-#if defined(__GNUC__) && __GNUC__ >= 3
-#define RTCHECK(e)  __builtin_expect(e, 1)
-#else /* GNUC */
-#define RTCHECK(e)  (e)
-#endif /* GNUC */
-#else /* !INSECURE */
-#define RTCHECK(e)  (1)
-#endif /* !INSECURE */
-
-/* macros to set up inuse chunks with or without footers */
-
-#if !FOOTERS
-
-#define mark_inuse_foot(M,p,s)
-
-/* Set cinuse bit and pinuse bit of next chunk */
-#define set_inuse(M,p,s)\
-  ((p)->head = (((p)->head & PINUSE_BIT)|s|CINUSE_BIT),\
-  ((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT)
-
-/* Set cinuse and pinuse of this chunk and pinuse of next chunk */
-#define set_inuse_and_pinuse(M,p,s)\
-  ((p)->head = (s|PINUSE_BIT|CINUSE_BIT),\
-  ((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT)
-
-/* Set size, cinuse and pinuse bit of this chunk */
-#define set_size_and_pinuse_of_inuse_chunk(M, p, s)\
-  ((p)->head = (s|PINUSE_BIT|CINUSE_BIT))
-
-#else /* FOOTERS */
-
-/* Set foot of inuse chunk to be xor of mstate and seed */
-#define mark_inuse_foot(M,p,s)\
-  (((mchunkptr)((char*)(p) + (s)))->prev_foot = ((size_t)(M) ^ mparams.magic))
-
-#define get_mstate_for(p)\
-  ((mstate)(((mchunkptr)((char*)(p) +\
-    (chunksize(p))))->prev_foot ^ mparams.magic))
-
-#define set_inuse(M,p,s)\
-  ((p)->head = (((p)->head & PINUSE_BIT)|s|CINUSE_BIT),\
-  (((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT), \
-  mark_inuse_foot(M,p,s))
-
-#define set_inuse_and_pinuse(M,p,s)\
-  ((p)->head = (s|PINUSE_BIT|CINUSE_BIT),\
-  (((mchunkptr)(((char*)(p)) + (s)))->head |= PINUSE_BIT),\
- mark_inuse_foot(M,p,s))
-
-#define set_size_and_pinuse_of_inuse_chunk(M, p, s)\
-  ((p)->head = (s|PINUSE_BIT|CINUSE_BIT),\
-  mark_inuse_foot(M, p, s))
-
-#endif /* !FOOTERS */
-
-/* ---------------------------- setting mparams -------------------------- */
-
-/* Initialize mparams */
-static int init_mparams(void) {
-  if (mparams.page_size == 0) {
-    size_t s;
-
-    mparams.mmap_threshold = DEFAULT_MMAP_THRESHOLD;
-    mparams.trim_threshold = DEFAULT_TRIM_THRESHOLD;
-#if MORECORE_CONTIGUOUS
-    mparams.default_mflags = USE_LOCK_BIT|USE_MMAP_BIT;
-#else  /* MORECORE_CONTIGUOUS */
-    mparams.default_mflags = USE_LOCK_BIT|USE_MMAP_BIT|USE_NONCONTIGUOUS_BIT;
-#endif /* MORECORE_CONTIGUOUS */
-
-#if (FOOTERS && !INSECURE)
-    {
-#if USE_DEV_RANDOM
-      int fd;
-      unsigned char buf[sizeof(size_t)];
-      /* Try to use /dev/urandom, else fall back on using time */
-      if ((fd = open("/dev/urandom", O_RDONLY)) >= 0 &&
-          read(fd, buf, sizeof(buf)) == sizeof(buf)) {
-        s = *((size_t *) buf);
-        close(fd);
-      }
-      else
-#endif /* USE_DEV_RANDOM */
-        s = (size_t)(time(0) ^ (size_t)0x55555555U);
-
-      s |= (size_t)8U;    /* ensure nonzero */
-      s &= ~(size_t)7U;   /* improve chances of fault for bad values */
-
-    }
-#else /* (FOOTERS && !INSECURE) */
-    s = (size_t)0x58585858U;
-#endif /* (FOOTERS && !INSECURE) */
-    ACQUIRE_MAGIC_INIT_LOCK();
-    if (mparams.magic == 0) {
-      mparams.magic = s;
-      /* Set up lock for main malloc area */
-      INITIAL_LOCK(&gm->mutex);
-      gm->mflags = mparams.default_mflags;
-    }
-    RELEASE_MAGIC_INIT_LOCK();
-
-#if !defined(WIN32) && !defined(__OS2__)
-    mparams.page_size = malloc_getpagesize;
-    mparams.granularity = ((DEFAULT_GRANULARITY != 0)?
-                           DEFAULT_GRANULARITY : mparams.page_size);
-#elif defined (__OS2__)
- /* if low-memory is used, os2munmap() would break
-    if it were anything other than 64k */
-    mparams.page_size = 4096u;
-    mparams.granularity = 65536u;
-#else /* WIN32 */
-    {
-      SYSTEM_INFO system_info;
-      GetSystemInfo(&system_info);
-      mparams.page_size = system_info.dwPageSize;
-      mparams.granularity = system_info.dwAllocationGranularity;
-    }
-#endif /* WIN32 */
-
-    /* Sanity-check configuration:
-       size_t must be unsigned and as wide as pointer type.
-       ints must be at least 4 bytes.
-       alignment must be at least 8.
-       Alignment, min chunk size, and page size must all be powers of 2.
-    */
-    if ((sizeof(size_t) != sizeof(char*)) ||
-        (MAX_SIZE_T < MIN_CHUNK_SIZE)  ||
-        (sizeof(int) < 4)  ||
-        (MALLOC_ALIGNMENT < (size_t)8U) ||
-        ((MALLOC_ALIGNMENT    & (MALLOC_ALIGNMENT-SIZE_T_ONE))    != 0) ||
-        ((MCHUNK_SIZE         & (MCHUNK_SIZE-SIZE_T_ONE))         != 0) ||
-        ((mparams.granularity & (mparams.granularity-SIZE_T_ONE)) != 0) ||
-        ((mparams.page_size   & (mparams.page_size-SIZE_T_ONE))   != 0))
-      ABORT;
-  }
-  return 0;
-}
-
-/* support for mallopt */
-static int change_mparam(int param_number, int value) {
-  size_t val = (size_t)value;
-  init_mparams();
-  switch(param_number) {
-  case M_TRIM_THRESHOLD:
-    mparams.trim_threshold = val;
-    return 1;
-  case M_GRANULARITY:
-    if (val >= mparams.page_size && ((val & (val-1)) == 0)) {
-      mparams.granularity = val;
-      return 1;
-    }
-    else
-      return 0;
-  case M_MMAP_THRESHOLD:
-    mparams.mmap_threshold = val;
-    return 1;
-  default:
-    return 0;
-  }
-}
-
-#if DEBUG
-/* ------------------------- Debugging Support --------------------------- */
-
-/* Check properties of any chunk, whether free, inuse, mmapped etc  */
-static void do_check_any_chunk(mstate m, mchunkptr p) {
-  assert((is_aligned(chunk2mem(p))) || (p->head == FENCEPOST_HEAD));
-  assert(ok_address(m, p));
-}
-
-/* Check properties of top chunk */
-static void do_check_top_chunk(mstate m, mchunkptr p) {
-  msegmentptr sp = segment_holding(m, (char*)p);
-  size_t  sz = chunksize(p);
-  assert(sp != 0);
-  assert((is_aligned(chunk2mem(p))) || (p->head == FENCEPOST_HEAD));
-  assert(ok_address(m, p));
-  assert(sz == m->topsize);
-  assert(sz > 0);
-  assert(sz == ((sp->base + sp->size) - (char*)p) - TOP_FOOT_SIZE);
-  assert(pinuse(p));
-  assert(!next_pinuse(p));
-}
-
-/* Check properties of (inuse) mmapped chunks */
-static void do_check_mmapped_chunk(mstate m, mchunkptr p) {
-  size_t  sz = chunksize(p);
-  size_t len = (sz + (p->prev_foot & ~IS_MMAPPED_BIT) + MMAP_FOOT_PAD);
-  assert(is_mmapped(p));
-  assert(use_mmap(m));
-  assert((is_aligned(chunk2mem(p))) || (p->head == FENCEPOST_HEAD));
-  assert(ok_address(m, p));
-  assert(!is_small(sz));
-  assert((len & (mparams.page_size-SIZE_T_ONE)) == 0);
-  assert(chunk_plus_offset(p, sz)->head == FENCEPOST_HEAD);
-  assert(chunk_plus_offset(p, sz+SIZE_T_SIZE)->head == 0);
-}
-
-/* Check properties of inuse chunks */
-static void do_check_inuse_chunk(mstate m, mchunkptr p) {
-  do_check_any_chunk(m, p);
-  assert(cinuse(p));
-  assert(next_pinuse(p));
-  /* If not pinuse and not mmapped, previous chunk has OK offset */
-  assert(is_mmapped(p) || pinuse(p) || next_chunk(prev_chunk(p)) == p);
-  if (is_mmapped(p))
-    do_check_mmapped_chunk(m, p);
-}
-
-/* Check properties of free chunks */
-static void do_check_free_chunk(mstate m, mchunkptr p) {
-  size_t sz = p->head & ~(PINUSE_BIT|CINUSE_BIT);
-  mchunkptr next = chunk_plus_offset(p, sz);
-  do_check_any_chunk(m, p);
-  assert(!cinuse(p));
-  assert(!next_pinuse(p));
-  assert (!is_mmapped(p));
-  if (p != m->dv && p != m->top) {
-    if (sz >= MIN_CHUNK_SIZE) {
-      assert((sz & CHUNK_ALIGN_MASK) == 0);
-      assert(is_aligned(chunk2mem(p)));
-      assert(next->prev_foot == sz);
-      assert(pinuse(p));
-      assert (next == m->top || cinuse(next));
-      assert(p->fd->bk == p);
-      assert(p->bk->fd == p);
-    }
-    else  /* markers are always of size SIZE_T_SIZE */
-      assert(sz == SIZE_T_SIZE);
-  }
-}
-
-/* Check properties of malloced chunks at the point they are malloced */
-static void do_check_malloced_chunk(mstate m, void* mem, size_t s) {
-  if (mem != 0) {
-    mchunkptr p = mem2chunk(mem);
-    size_t sz = p->head & ~(PINUSE_BIT|CINUSE_BIT);
-    do_check_inuse_chunk(m, p);
-    assert((sz & CHUNK_ALIGN_MASK) == 0);
-    assert(sz >= MIN_CHUNK_SIZE);
-    assert(sz >= s);
-    /* unless mmapped, size is less than MIN_CHUNK_SIZE more than request */
-    assert(is_mmapped(p) || sz < (s + MIN_CHUNK_SIZE));
-  }
-}
-
-/* Check a tree and its subtrees.  */
-static void do_check_tree(mstate m, tchunkptr t) {
-  tchunkptr head = 0;
-  tchunkptr u = t;
-  bindex_t tindex = t->index;
-  size_t tsize = chunksize(t);
-  bindex_t idx;
-  compute_tree_index(tsize, idx);
-  assert(tindex == idx);
-  assert(tsize >= MIN_LARGE_SIZE);
-  assert(tsize >= minsize_for_tree_index(idx));
-  assert((idx == NTREEBINS-1) || (tsize < minsize_for_tree_index((idx+1))));
-
-  do { /* traverse through chain of same-sized nodes */
-    do_check_any_chunk(m, ((mchunkptr)u));
-    assert(u->index == tindex);
-    assert(chunksize(u) == tsize);
-    assert(!cinuse(u));
-    assert(!next_pinuse(u));
-    assert(u->fd->bk == u);
-    assert(u->bk->fd == u);
-    if (u->parent == 0) {
-      assert(u->child[0] == 0);
-      assert(u->child[1] == 0);
-    }
-    else {
-      assert(head == 0); /* only one node on chain has parent */
-      head = u;
-      assert(u->parent != u);
-      assert (u->parent->child[0] == u ||
-              u->parent->child[1] == u ||
-              *((tbinptr*)(u->parent)) == u);
-      if (u->child[0] != 0) {
-        assert(u->child[0]->parent == u);
-        assert(u->child[0] != u);
-        do_check_tree(m, u->child[0]);
-      }
-      if (u->child[1] != 0) {
-        assert(u->child[1]->parent == u);
-        assert(u->child[1] != u);
-        do_check_tree(m, u->child[1]);
-      }
-      if (u->child[0] != 0 && u->child[1] != 0) {
-        assert(chunksize(u->child[0]) < chunksize(u->child[1]));
-      }
-    }
-    u = u->fd;
-  } while (u != t);
-  assert(head != 0);
-}
-
-/*  Check all the chunks in a treebin.  */
-static void do_check_treebin(mstate m, bindex_t i) {
-  tbinptr* tb = treebin_at(m, i);
-  tchunkptr t = *tb;
-  int empty = (m->treemap & (1U << i)) == 0;
-  if (t == 0)
-    assert(empty);
-  if (!empty)
-    do_check_tree(m, t);
-}
-
-/*  Check all the chunks in a smallbin.  */
-static void do_check_smallbin(mstate m, bindex_t i) {
-  sbinptr b = smallbin_at(m, i);
-  mchunkptr p = b->bk;
-  unsigned int empty = (m->smallmap & (1U << i)) == 0;
-  if (p == b)
-    assert(empty);
-  if (!empty) {
-    for (; p != b; p = p->bk) {
-      size_t size = chunksize(p);
-      mchunkptr q;
-      /* each chunk claims to be free */
-      do_check_free_chunk(m, p);
-      /* chunk belongs in bin */
-      assert(small_index(size) == i);
-      assert(p->bk == b || chunksize(p->bk) == chunksize(p));
-      /* chunk is followed by an inuse chunk */
-      q = next_chunk(p);
-      if (q->head != FENCEPOST_HEAD)
-        do_check_inuse_chunk(m, q);
-    }
-  }
-}
-
-/* Find x in a bin. Used in other check functions. */
-static int bin_find(mstate m, mchunkptr x) {
-  size_t size = chunksize(x);
-  if (is_small(size)) {
-    bindex_t sidx = small_index(size);
-    sbinptr b = smallbin_at(m, sidx);
-    if (smallmap_is_marked(m, sidx)) {
-      mchunkptr p = b;
-      do {
-        if (p == x)
-          return 1;
-      } while ((p = p->fd) != b);
-    }
-  }
-  else {
-    bindex_t tidx;
-    compute_tree_index(size, tidx);
-    if (treemap_is_marked(m, tidx)) {
-      tchunkptr t = *treebin_at(m, tidx);
-      size_t sizebits = size << leftshift_for_tree_index(tidx);
-      while (t != 0 && chunksize(t) != size) {
-        t = t->child[(sizebits >> (SIZE_T_BITSIZE-SIZE_T_ONE)) & 1];
-        sizebits <<= 1;
-      }
-      if (t != 0) {
-        tchunkptr u = t;
-        do {
-          if (u == (tchunkptr)x)
-            return 1;
-        } while ((u = u->fd) != t);
-      }
-    }
-  }
-  return 0;
-}
-
-/* Traverse each chunk and check it; return total */
-static size_t traverse_and_check(mstate m) {
-  size_t sum = 0;
-  if (is_initialized(m)) {
-    msegmentptr s = &m->seg;
-    sum += m->topsize + TOP_FOOT_SIZE;
-    while (s != 0) {
-      mchunkptr q = align_as_chunk(s->base);
-      mchunkptr lastq = 0;
-      assert(pinuse(q));
-      while (segment_holds(s, q) &&
-             q != m->top && q->head != FENCEPOST_HEAD) {
-        sum += chunksize(q);
-        if (cinuse(q)) {
-          assert(!bin_find(m, q));
-          do_check_inuse_chunk(m, q);
-        }
-        else {
-          assert(q == m->dv || bin_find(m, q));
-          assert(lastq == 0 || cinuse(lastq)); /* Not 2 consecutive free */
-          do_check_free_chunk(m, q);
-        }
-        lastq = q;
-        q = next_chunk(q);
-      }
-      s = s->next;
-    }
-  }
-  return sum;
-}
-
-/* Check all properties of malloc_state. */
-static void do_check_malloc_state(mstate m) {
-  bindex_t i;
-  size_t total;
-  /* check bins */
-  for (i = 0; i < NSMALLBINS; ++i)
-    do_check_smallbin(m, i);
-  for (i = 0; i < NTREEBINS; ++i)
-    do_check_treebin(m, i);
-
-  if (m->dvsize != 0) { /* check dv chunk */
-    do_check_any_chunk(m, m->dv);
-    assert(m->dvsize == chunksize(m->dv));
-    assert(m->dvsize >= MIN_CHUNK_SIZE);
-    assert(bin_find(m, m->dv) == 0);
-  }
-
-  if (m->top != 0) {   /* check top chunk */
-    do_check_top_chunk(m, m->top);
-    assert(m->topsize == chunksize(m->top));
-    assert(m->topsize > 0);
-    assert(bin_find(m, m->top) == 0);
-  }
-
-  total = traverse_and_check(m);
-  assert(total <= m->footprint);
-  assert(m->footprint <= m->max_footprint);
-}
-#endif /* DEBUG */
-
-/* ----------------------------- statistics ------------------------------ */
-
-#if !NO_MALLINFO
-static struct mallinfo internal_mallinfo(mstate m) {
-  struct mallinfo nm = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-  if (!PREACTION(m)) {
-    check_malloc_state(m);
-    if (is_initialized(m)) {
-      size_t nfree = SIZE_T_ONE; /* top always free */
-      size_t mfree = m->topsize + TOP_FOOT_SIZE;
-      size_t sum = mfree;
-      msegmentptr s = &m->seg;
-      while (s != 0) {
-        mchunkptr q = align_as_chunk(s->base);
-        while (segment_holds(s, q) &&
-               q != m->top && q->head != FENCEPOST_HEAD) {
-          size_t sz = chunksize(q);
-          sum += sz;
-          if (!cinuse(q)) {
-            mfree += sz;
-            ++nfree;
-          }
-          q = next_chunk(q);
-        }
-        s = s->next;
-      }
-
-      nm.arena    = sum;
-      nm.ordblks  = nfree;
-      nm.hblkhd   = m->footprint - sum;
-      nm.usmblks  = m->max_footprint;
-      nm.uordblks = m->footprint - mfree;
-      nm.fordblks = mfree;
-      nm.keepcost = m->topsize;
-    }
-
-    POSTACTION(m);
-  }
-  return nm;
-}
-#endif /* !NO_MALLINFO */
-
-static void internal_malloc_stats(mstate m) {
-  if (!PREACTION(m)) {
-    size_t maxfp = 0;
-    size_t fp = 0;
-    size_t used = 0;
-    check_malloc_state(m);
-    if (is_initialized(m)) {
-      msegmentptr s = &m->seg;
-      maxfp = m->max_footprint;
-      fp = m->footprint;
-      used = fp - (m->topsize + TOP_FOOT_SIZE);
-
-      while (s != 0) {
-        mchunkptr q = align_as_chunk(s->base);
-        while (segment_holds(s, q) &&
-               q != m->top && q->head != FENCEPOST_HEAD) {
-          if (!cinuse(q))
-            used -= chunksize(q);
-          q = next_chunk(q);
-        }
-        s = s->next;
-      }
-    }
-
-    fprintf(stderr, "max system bytes = %10lu\n", (unsigned long)(maxfp));
-    fprintf(stderr, "system bytes     = %10lu\n", (unsigned long)(fp));
-    fprintf(stderr, "in use bytes     = %10lu\n", (unsigned long)(used));
-
-    POSTACTION(m);
-  }
-}
-
-/* ----------------------- Operations on smallbins ----------------------- */
-
-/*
-  Various forms of linking and unlinking are defined as macros.  Even
-  the ones for trees, which are very long but have very short typical
-  paths.  This is ugly but reduces reliance on inlining support of
-  compilers.
-*/
-
-/* Link a free chunk into a smallbin  */
-#define insert_small_chunk(M, P, S) {\
-  bindex_t I  = small_index(S);\
-  mchunkptr B = smallbin_at(M, I);\
-  mchunkptr F = B;\
-  assert(S >= MIN_CHUNK_SIZE);\
-  if (!smallmap_is_marked(M, I))\
-    mark_smallmap(M, I);\
-  else if (RTCHECK(ok_address(M, B->fd)))\
-    F = B->fd;\
-  else {\
-    CORRUPTION_ERROR_ACTION(M);\
-  }\
-  B->fd = P;\
-  F->bk = P;\
-  P->fd = F;\
-  P->bk = B;\
-}
-
-/* Unlink a chunk from a smallbin  */
-#define unlink_small_chunk(M, P, S) {\
-  mchunkptr F = P->fd;\
-  mchunkptr B = P->bk;\
-  bindex_t I = small_index(S);\
-  assert(P != B);\
-  assert(P != F);\
-  assert(chunksize(P) == small_index2size(I));\
-  if (F == B)\
-    clear_smallmap(M, I);\
-  else if (RTCHECK((F == smallbin_at(M,I) || ok_address(M, F)) &&\
-                   (B == smallbin_at(M,I) || ok_address(M, B)))) {\
-    F->bk = B;\
-    B->fd = F;\
-  }\
-  else {\
-    CORRUPTION_ERROR_ACTION(M);\
-  }\
-}
-
-/* Unlink the first chunk from a smallbin */
-#define unlink_first_small_chunk(M, B, P, I) {\
-  mchunkptr F = P->fd;\
-  assert(P != B);\
-  assert(P != F);\
-  assert(chunksize(P) == small_index2size(I));\
-  if (B == F)\
-    clear_smallmap(M, I);\
-  else if (RTCHECK(ok_address(M, F))) {\
-    B->fd = F;\
-    F->bk = B;\
-  }\
-  else {\
-    CORRUPTION_ERROR_ACTION(M);\
-  }\
-}
-
-/* Replace dv node, binning the old one */
-/* Used only when dvsize known to be small */
-#define replace_dv(M, P, S) {\
-  size_t DVS = M->dvsize;\
-  if (DVS != 0) {\
-    mchunkptr DV = M->dv;\
-    assert(is_small(DVS));\
-    insert_small_chunk(M, DV, DVS);\
-  }\
-  M->dvsize = S;\
-  M->dv = P;\
-}
-
-/* ------------------------- Operations on trees ------------------------- */
-
-/* Insert chunk into tree */
-#define insert_large_chunk(M, X, S) {\
-  tbinptr* H;\
-  bindex_t I;\
-  compute_tree_index(S, I);\
-  H = treebin_at(M, I);\
-  X->index = I;\
-  X->child[0] = X->child[1] = 0;\
-  if (!treemap_is_marked(M, I)) {\
-    mark_treemap(M, I);\
-    *H = X;\
-    X->parent = (tchunkptr)H;\
-    X->fd = X->bk = X;\
-  }\
-  else {\
-    tchunkptr T = *H;\
-    size_t K = S << leftshift_for_tree_index(I);\
-    for (;;) {\
-      if (chunksize(T) != S) {\
-        tchunkptr* C = &(T->child[(K >> (SIZE_T_BITSIZE-SIZE_T_ONE)) & 1]);\
-        K <<= 1;\
-        if (*C != 0)\
-          T = *C;\
-        else if (RTCHECK(ok_address(M, C))) {\
-          *C = X;\
-          X->parent = T;\
-          X->fd = X->bk = X;\
-          break;\
-        }\
-        else {\
-          CORRUPTION_ERROR_ACTION(M);\
-          break;\
-        }\
-      }\
-      else {\
-        tchunkptr F = T->fd;\
-        if (RTCHECK(ok_address(M, T) && ok_address(M, F))) {\
-          T->fd = F->bk = X;\
-          X->fd = F;\
-          X->bk = T;\
-          X->parent = 0;\
-          break;\
-        }\
-        else {\
-          CORRUPTION_ERROR_ACTION(M);\
-          break;\
-        }\
-      }\
-    }\
-  }\
-}
-
-/*
-  Unlink steps:
-
-  1. If x is a chained node, unlink it from its same-sized fd/bk links
-     and choose its bk node as its replacement.
-  2. If x was the last node of its size, but not a leaf node, it must
-     be replaced with a leaf node (not merely one with an open left or
-     right), to make sure that lefts and rights of descendents
-     correspond properly to bit masks.  We use the rightmost descendent
-     of x.  We could use any other leaf, but this is easy to locate and
-     tends to counteract removal of leftmosts elsewhere, and so keeps
-     paths shorter than minimally guaranteed.  This doesn't loop much
-     because on average a node in a tree is near the bottom.
-  3. If x is the base of a chain (i.e., has parent links) relink
-     x's parent and children to x's replacement (or null if none).
-*/
-
-#define unlink_large_chunk(M, X) {\
-  tchunkptr XP = X->parent;\
-  tchunkptr R;\
-  if (X->bk != X) {\
-    tchunkptr F = X->fd;\
-    R = X->bk;\
-    if (RTCHECK(ok_address(M, F))) {\
-      F->bk = R;\
-      R->fd = F;\
-    }\
-    else {\
-      CORRUPTION_ERROR_ACTION(M);\
-    }\
-  }\
-  else {\
-    tchunkptr* RP;\
-    if (((R = *(RP = &(X->child[1]))) != 0) ||\
-        ((R = *(RP = &(X->child[0]))) != 0)) {\
-      tchunkptr* CP;\
-      while ((*(CP = &(R->child[1])) != 0) ||\
-             (*(CP = &(R->child[0])) != 0)) {\
-        R = *(RP = CP);\
-      }\
-      if (RTCHECK(ok_address(M, RP)))\
-        *RP = 0;\
-      else {\
-        CORRUPTION_ERROR_ACTION(M);\
-      }\
-    }\
-  }\
-  if (XP != 0) {\
-    tbinptr* H = treebin_at(M, X->index);\
-    if (X == *H) {\
-      if ((*H = R) == 0) \
-        clear_treemap(M, X->index);\
-    }\
-    else if (RTCHECK(ok_address(M, XP))) {\
-      if (XP->child[0] == X) \
-        XP->child[0] = R;\
-      else \
-        XP->child[1] = R;\
-    }\
-    else\
-      CORRUPTION_ERROR_ACTION(M);\
-    if (R != 0) {\
-      if (RTCHECK(ok_address(M, R))) {\
-        tchunkptr C0, C1;\
-        R->parent = XP;\
-        if ((C0 = X->child[0]) != 0) {\
-          if (RTCHECK(ok_address(M, C0))) {\
-            R->child[0] = C0;\
-            C0->parent = R;\
-          }\
-          else\
-            CORRUPTION_ERROR_ACTION(M);\
-        }\
-        if ((C1 = X->child[1]) != 0) {\
-          if (RTCHECK(ok_address(M, C1))) {\
-            R->child[1] = C1;\
-            C1->parent = R;\
-          }\
-          else\
-            CORRUPTION_ERROR_ACTION(M);\
-        }\
-      }\
-      else\
-        CORRUPTION_ERROR_ACTION(M);\
-    }\
-  }\
-}
-
-/* Relays to large vs small bin operations */
-
-#define insert_chunk(M, P, S)\
-  if (is_small(S)) insert_small_chunk(M, P, S)\
-  else { tchunkptr TP = (tchunkptr)(P); insert_large_chunk(M, TP, S); }
-
-#define unlink_chunk(M, P, S)\
-  if (is_small(S)) unlink_small_chunk(M, P, S)\
-  else { tchunkptr TP = (tchunkptr)(P); unlink_large_chunk(M, TP); }
-
-
-/* Relays to internal calls to malloc/free from realloc, memalign etc */
-
-#if ONLY_MSPACES
-#define internal_malloc(m, b) mspace_malloc(m, b)
-#define internal_free(m, mem) mspace_free(m,mem);
-#else /* ONLY_MSPACES */
-#if MSPACES
-#define internal_malloc(m, b)\
-   (m == gm)? dlmalloc(b) : mspace_malloc(m, b)
-#define internal_free(m, mem)\
-   if (m == gm) dlfree(mem); else mspace_free(m,mem);
-#else /* MSPACES */
-#define internal_malloc(m, b) dlmalloc(b)
-#define internal_free(m, mem) dlfree(mem)
-#endif /* MSPACES */
-#endif /* ONLY_MSPACES */
-
-/* -----------------------  Direct-mmapping chunks ----------------------- */
-
-/*
-  Directly mmapped chunks are set up with an offset to the start of
-  the mmapped region stored in the prev_foot field of the chunk. This
-  allows reconstruction of the required argument to MUNMAP when freed,
-  and also allows adjustment of the returned chunk to meet alignment
-  requirements (especially in memalign).  There is also enough space
-  allocated to hold a fake next chunk of size SIZE_T_SIZE to maintain
-  the PINUSE bit so frees can be checked.
-*/
-
-/* Malloc using mmap */
-static void* mmap_alloc(mstate m, size_t nb) {
-  size_t mmsize = granularity_align(nb + SIX_SIZE_T_SIZES + CHUNK_ALIGN_MASK);
-  if (mmsize > nb) {     /* Check for wrap around 0 */
-    char* mm = (char*)(DIRECT_MMAP(mmsize));
-    if (mm != CMFAIL) {
-      size_t offset = align_offset(chunk2mem(mm));
-      size_t psize = mmsize - offset - MMAP_FOOT_PAD;
-      mchunkptr p = (mchunkptr)(mm + offset);
-      p->prev_foot = offset | IS_MMAPPED_BIT;
-      (p)->head = (psize|CINUSE_BIT);
-      mark_inuse_foot(m, p, psize);
-      chunk_plus_offset(p, psize)->head = FENCEPOST_HEAD;
-      chunk_plus_offset(p, psize+SIZE_T_SIZE)->head = 0;
-
-      if (mm < m->least_addr)
-        m->least_addr = mm;
-      if ((m->footprint += mmsize) > m->max_footprint)
-        m->max_footprint = m->footprint;
-      assert(is_aligned(chunk2mem(p)));
-      check_mmapped_chunk(m, p);
-      return chunk2mem(p);
-    }
-  }
-  return 0;
-}
-
-/* Realloc using mmap */
-static mchunkptr mmap_resize(mstate m, mchunkptr oldp, size_t nb) {
-  size_t oldsize = chunksize(oldp);
-  if (is_small(nb)) /* Can't shrink mmap regions below small size */
-    return 0;
-  /* Keep old chunk if big enough but not too big */
-  if (oldsize >= nb + SIZE_T_SIZE &&
-      (oldsize - nb) <= (mparams.granularity << 1))
-    return oldp;
-  else {
-    size_t offset = oldp->prev_foot & ~IS_MMAPPED_BIT;
-    size_t oldmmsize = oldsize + offset + MMAP_FOOT_PAD;
-    size_t newmmsize = granularity_align(nb + SIX_SIZE_T_SIZES +
-                                         CHUNK_ALIGN_MASK);
-    char* cp = (char*)CALL_MREMAP((char*)oldp - offset,
-                                  oldmmsize, newmmsize, 1);
-    if (cp != CMFAIL) {
-      mchunkptr newp = (mchunkptr)(cp + offset);
-      size_t psize = newmmsize - offset - MMAP_FOOT_PAD;
-      newp->head = (psize|CINUSE_BIT);
-      mark_inuse_foot(m, newp, psize);
-      chunk_plus_offset(newp, psize)->head = FENCEPOST_HEAD;
-      chunk_plus_offset(newp, psize+SIZE_T_SIZE)->head = 0;
-
-      if (cp < m->least_addr)
-        m->least_addr = cp;
-      if ((m->footprint += newmmsize - oldmmsize) > m->max_footprint)
-        m->max_footprint = m->footprint;
-      check_mmapped_chunk(m, newp);
-      return newp;
-    }
-  }
-  return 0;
-}
-
-/* -------------------------- mspace management -------------------------- */
-
-/* Initialize top chunk and its size */
-static void init_top(mstate m, mchunkptr p, size_t psize) {
-  /* Ensure alignment */
-  size_t offset = align_offset(chunk2mem(p));
-  p = (mchunkptr)((char*)p + offset);
-  psize -= offset;
-
-  m->top = p;
-  m->topsize = psize;
-  p->head = psize | PINUSE_BIT;
-  /* set size of fake trailing chunk holding overhead space only once */
-  chunk_plus_offset(p, psize)->head = TOP_FOOT_SIZE;
-  m->trim_check = mparams.trim_threshold; /* reset on each update */
-}
-
-/* Initialize bins for a new mstate that is otherwise zeroed out */
-static void init_bins(mstate m) {
-  /* Establish circular links for smallbins */
-  bindex_t i;
-  for (i = 0; i < NSMALLBINS; ++i) {
-    sbinptr bin = smallbin_at(m,i);
-    bin->fd = bin->bk = bin;
-  }
-}
-
-#if PROCEED_ON_ERROR
-
-/* default corruption action */
-static void reset_on_error(mstate m) {
-  int i;
-  ++malloc_corruption_error_count;
-  /* Reinitialize fields to forget about all memory */
-  m->smallbins = m->treebins = 0;
-  m->dvsize = m->topsize = 0;
-  m->seg.base = 0;
-  m->seg.size = 0;
-  m->seg.next = 0;
-  m->top = m->dv = 0;
-  for (i = 0; i < NTREEBINS; ++i)
-    *treebin_at(m, i) = 0;
-  init_bins(m);
-}
-#endif /* PROCEED_ON_ERROR */
-
-/* Allocate chunk and prepend remainder with chunk in successor base. */
-static void* prepend_alloc(mstate m, char* newbase, char* oldbase,
-                           size_t nb) {
-  mchunkptr p = align_as_chunk(newbase);
-  mchunkptr oldfirst = align_as_chunk(oldbase);
-  size_t psize = (char*)oldfirst - (char*)p;
-  mchunkptr q = chunk_plus_offset(p, nb);
-  size_t qsize = psize - nb;
-  set_size_and_pinuse_of_inuse_chunk(m, p, nb);
-
-  assert((char*)oldfirst > (char*)q);
-  assert(pinuse(oldfirst));
-  assert(qsize >= MIN_CHUNK_SIZE);
-
-  /* consolidate remainder with first chunk of old base */
-  if (oldfirst == m->top) {
-    size_t tsize = m->topsize += qsize;
-    m->top = q;
-    q->head = tsize | PINUSE_BIT;
-    check_top_chunk(m, q);
-  }
-  else if (oldfirst == m->dv) {
-    size_t dsize = m->dvsize += qsize;
-    m->dv = q;
-    set_size_and_pinuse_of_free_chunk(q, dsize);
-  }
-  else {
-    if (!cinuse(oldfirst)) {
-      size_t nsize = chunksize(oldfirst);
-      unlink_chunk(m, oldfirst, nsize);
-      oldfirst = chunk_plus_offset(oldfirst, nsize);
-      qsize += nsize;
-    }
-    set_free_with_pinuse(q, qsize, oldfirst);
-    insert_chunk(m, q, qsize);
-    check_free_chunk(m, q);
-  }
-
-  check_malloced_chunk(m, chunk2mem(p), nb);
-  return chunk2mem(p);
-}
-
-
-/* Add a segment to hold a new noncontiguous region */
-static void add_segment(mstate m, char* tbase, size_t tsize, flag_t mmapped) {
-  /* Determine locations and sizes of segment, fenceposts, old top */
-  char* old_top = (char*)m->top;
-  msegmentptr oldsp = segment_holding(m, old_top);
-  char* old_end = oldsp->base + oldsp->size;
-  size_t ssize = pad_request(sizeof(struct malloc_segment));
-  char* rawsp = old_end - (ssize + FOUR_SIZE_T_SIZES + CHUNK_ALIGN_MASK);
-  size_t offset = align_offset(chunk2mem(rawsp));
-  char* asp = rawsp + offset;
-  char* csp = (asp < (old_top + MIN_CHUNK_SIZE))? old_top : asp;
-  mchunkptr sp = (mchunkptr)csp;
-  msegmentptr ss = (msegmentptr)(chunk2mem(sp));
-  mchunkptr tnext = chunk_plus_offset(sp, ssize);
-  mchunkptr p = tnext;
-  int nfences = 0;
-
-  /* reset top to new space */
-  init_top(m, (mchunkptr)tbase, tsize - TOP_FOOT_SIZE);
-
-  /* Set up segment record */
-  assert(is_aligned(ss));
-  set_size_and_pinuse_of_inuse_chunk(m, sp, ssize);
-  *ss = m->seg; /* Push current record */
-  m->seg.base = tbase;
-  m->seg.size = tsize;
-  set_segment_flags(&m->seg, mmapped);
-  m->seg.next = ss;
-
-  /* Insert trailing fenceposts */
-  for (;;) {
-    mchunkptr nextp = chunk_plus_offset(p, SIZE_T_SIZE);
-    p->head = FENCEPOST_HEAD;
-    ++nfences;
-    if ((char*)(&(nextp->head)) < old_end)
-      p = nextp;
-    else
-      break;
-  }
-  assert(nfences >= 2);
-
-  /* Insert the rest of old top into a bin as an ordinary free chunk */
-  if (csp != old_top) {
-    mchunkptr q = (mchunkptr)old_top;
-    size_t psize = csp - old_top;
-    mchunkptr tn = chunk_plus_offset(q, psize);
-    set_free_with_pinuse(q, psize, tn);
-    insert_chunk(m, q, psize);
-  }
-
-  check_top_chunk(m, m->top);
-}
-
-/* -------------------------- System allocation -------------------------- */
-
-/* Get memory from system using MORECORE or MMAP */
-static void* sys_alloc(mstate m, size_t nb) {
-  char* tbase = CMFAIL;
-  size_t tsize = 0;
-  flag_t mmap_flag = 0;
-
-  init_mparams();
-
-  /* Directly map large chunks */
-  if (use_mmap(m) && nb >= mparams.mmap_threshold) {
-    void* mem = mmap_alloc(m, nb);
-    if (mem != 0)
-      return mem;
-  }
-
-  /*
-    Try getting memory in any of three ways (in most-preferred to
-    least-preferred order):
-    1. A call to MORECORE that can normally contiguously extend memory.
-       (disabled if not MORECORE_CONTIGUOUS or not HAVE_MORECORE or
-       or main space is mmapped or a previous contiguous call failed)
-    2. A call to MMAP new space (disabled if not HAVE_MMAP).
-       Note that under the default settings, if MORECORE is unable to
-       fulfill a request, and HAVE_MMAP is true, then mmap is
-       used as a noncontiguous system allocator. This is a useful backup
-       strategy for systems with holes in address spaces -- in this case
-       sbrk cannot contiguously expand the heap, but mmap may be able to
-       find space.
-    3. A call to MORECORE that cannot usually contiguously extend memory.
-       (disabled if not HAVE_MORECORE)
-  */
-
-  if (MORECORE_CONTIGUOUS && !use_noncontiguous(m)) {
-    char* br = CMFAIL;
-    msegmentptr ss = (m->top == 0)? 0 : segment_holding(m, (char*)m->top);
-    size_t asize = 0;
-    ACQUIRE_MORECORE_LOCK();
-
-    if (ss == 0) {  /* First time through or recovery */
-      char* base = (char*)CALL_MORECORE(0);
-      if (base != CMFAIL) {
-        asize = granularity_align(nb + TOP_FOOT_SIZE + SIZE_T_ONE);
-        /* Adjust to end on a page boundary */
-        if (!is_page_aligned(base))
-          asize += (page_align((size_t)base) - (size_t)base);
-        /* Can't call MORECORE if size is negative when treated as signed */
-        if (asize < HALF_MAX_SIZE_T &&
-            (br = (char*)(CALL_MORECORE(asize))) == base) {
-          tbase = base;
-          tsize = asize;
-        }
-      }
-    }
-    else {
-      /* Subtract out existing available top space from MORECORE request. */
-      asize = granularity_align(nb - m->topsize + TOP_FOOT_SIZE + SIZE_T_ONE);
-      /* Use mem here only if it did continuously extend old space */
-      if (asize < HALF_MAX_SIZE_T &&
-          (br = (char*)(CALL_MORECORE(asize))) == ss->base+ss->size) {
-        tbase = br;
-        tsize = asize;
-      }
-    }
-
-    if (tbase == CMFAIL) {    /* Cope with partial failure */
-      if (br != CMFAIL) {    /* Try to use/extend the space we did get */
-        if (asize < HALF_MAX_SIZE_T &&
-            asize < nb + TOP_FOOT_SIZE + SIZE_T_ONE) {
-          size_t esize = granularity_align(nb + TOP_FOOT_SIZE + SIZE_T_ONE - asize);
-          if (esize < HALF_MAX_SIZE_T) {
-            char* end = (char*)CALL_MORECORE(esize);
-            if (end != CMFAIL)
-              asize += esize;
-            else {            /* Can't use; try to release */
-              (void)CALL_MORECORE(-asize);
-              br = CMFAIL;
-            }
-          }
-        }
-      }
-      if (br != CMFAIL) {    /* Use the space we did get */
-        tbase = br;
-        tsize = asize;
-      }
-      else
-        disable_contiguous(m); /* Don't try contiguous path in the future */
-    }
-
-    RELEASE_MORECORE_LOCK();
-  }
-
-  if (HAVE_MMAP && tbase == CMFAIL) {  /* Try MMAP */
-    size_t req = nb + TOP_FOOT_SIZE + SIZE_T_ONE;
-    size_t rsize = granularity_align(req);
-    if (rsize > nb) { /* Fail if wraps around zero */
-      char* mp = (char*)(CALL_MMAP(rsize));
-      if (mp != CMFAIL) {
-        tbase = mp;
-        tsize = rsize;
-        mmap_flag = IS_MMAPPED_BIT;
-      }
-    }
-  }
-
-  if (HAVE_MORECORE && tbase == CMFAIL) { /* Try noncontiguous MORECORE */
-    size_t asize = granularity_align(nb + TOP_FOOT_SIZE + SIZE_T_ONE);
-    if (asize < HALF_MAX_SIZE_T) {
-      char* br = CMFAIL;
-      char* end = CMFAIL;
-      ACQUIRE_MORECORE_LOCK();
-      br = (char*)(CALL_MORECORE(asize));
-      end = (char*)(CALL_MORECORE(0));
-      RELEASE_MORECORE_LOCK();
-      if (br != CMFAIL && end != CMFAIL && br < end) {
-        size_t ssize = end - br;
-        if (ssize > nb + TOP_FOOT_SIZE) {
-          tbase = br;
-          tsize = ssize;
-        }
-      }
-    }
-  }
-
-  if (tbase != CMFAIL) {
-
-    if ((m->footprint += tsize) > m->max_footprint)
-      m->max_footprint = m->footprint;
-
-    if (!is_initialized(m)) { /* first-time initialization */
-      m->seg.base = m->least_addr = tbase;
-      m->seg.size = tsize;
-      set_segment_flags(&m->seg, mmap_flag);
-      m->magic = mparams.magic;
-      init_bins(m);
-      if (is_global(m)) 
-        init_top(m, (mchunkptr)tbase, tsize - TOP_FOOT_SIZE);
-      else {
-        /* Offset top by embedded malloc_state */
-        mchunkptr mn = next_chunk(mem2chunk(m));
-        init_top(m, mn, (size_t)((tbase + tsize) - (char*)mn) -TOP_FOOT_SIZE);
-      }
-    }
-
-    else {
-      /* Try to merge with an existing segment */
-      msegmentptr sp = &m->seg;
-      while (sp != 0 && tbase != sp->base + sp->size)
-        sp = sp->next;
-      if (sp != 0 &&
-          !is_extern_segment(sp) &&
-         check_segment_merge(sp, tbase, tsize) &&
-          (get_segment_flags(sp) & IS_MMAPPED_BIT) == mmap_flag &&
-          segment_holds(sp, m->top)) { /* append */
-        sp->size += tsize;
-        init_top(m, m->top, m->topsize + tsize);
-      }
-      else {
-        if (tbase < m->least_addr)
-          m->least_addr = tbase;
-        sp = &m->seg;
-        while (sp != 0 && sp->base != tbase + tsize)
-          sp = sp->next;
-        if (sp != 0 &&
-            !is_extern_segment(sp) &&
-           check_segment_merge(sp, tbase, tsize) &&
-            (get_segment_flags(sp) & IS_MMAPPED_BIT) == mmap_flag) {
-          char* oldbase = sp->base;
-          sp->base = tbase;
-          sp->size += tsize;
-          return prepend_alloc(m, tbase, oldbase, nb);
-        }
-        else
-          add_segment(m, tbase, tsize, mmap_flag);
-      }
-    }
-
-    if (nb < m->topsize) { /* Allocate from new or extended top space */
-      size_t rsize = m->topsize -= nb;
-      mchunkptr p = m->top;
-      mchunkptr r = m->top = chunk_plus_offset(p, nb);
-      r->head = rsize | PINUSE_BIT;
-      set_size_and_pinuse_of_inuse_chunk(m, p, nb);
-      check_top_chunk(m, m->top);
-      check_malloced_chunk(m, chunk2mem(p), nb);
-      return chunk2mem(p);
-    }
-  }
-
-  MALLOC_FAILURE_ACTION;
-  return 0;
-}
-
-/* -----------------------  system deallocation -------------------------- */
-
-/* Unmap and unlink any mmapped segments that don't contain used chunks */
-static size_t release_unused_segments(mstate m) {
-  size_t released = 0;
-  msegmentptr pred = &m->seg;
-  msegmentptr sp = pred->next;
-  while (sp != 0) {
-    char* base = sp->base;
-    size_t size = sp->size;
-    msegmentptr next = sp->next;
-    if (is_mmapped_segment(sp) && !is_extern_segment(sp)) {
-      mchunkptr p = align_as_chunk(base);
-      size_t psize = chunksize(p);
-      /* Can unmap if first chunk holds entire segment and not pinned */
-      if (!cinuse(p) && (char*)p + psize >= base + size - TOP_FOOT_SIZE) {
-        tchunkptr tp = (tchunkptr)p;
-        assert(segment_holds(sp, (char*)sp));
-        if (p == m->dv) {
-          m->dv = 0;
-          m->dvsize = 0;
-        }
-        else {
-          unlink_large_chunk(m, tp);
-        }
-        if (CALL_MUNMAP(base, size) == 0) {
-          released += size;
-          m->footprint -= size;
-          /* unlink obsoleted record */
-          sp = pred;
-          sp->next = next;
-        }
-        else { /* back out if cannot unmap */
-          insert_large_chunk(m, tp, psize);
-        }
-      }
-    }
-    pred = sp;
-    sp = next;
-  }
-  return released;
-}
-
-static int sys_trim(mstate m, size_t pad) {
-  size_t released = 0;
-  if (pad < MAX_REQUEST && is_initialized(m)) {
-    pad += TOP_FOOT_SIZE; /* ensure enough room for segment overhead */
-
-    if (m->topsize > pad) {
-      /* Shrink top space in granularity-size units, keeping at least one */
-      size_t unit = mparams.granularity;
-      size_t extra = ((m->topsize - pad + (unit - SIZE_T_ONE)) / unit -
-                      SIZE_T_ONE) * unit;
-      msegmentptr sp = segment_holding(m, (char*)m->top);
-
-      if (!is_extern_segment(sp)) {
-        if (is_mmapped_segment(sp)) {
-          if (HAVE_MMAP &&
-              sp->size >= extra &&
-              !has_segment_link(m, sp)) { /* can't shrink if pinned */
-            size_t newsize = sp->size - extra;
-            /* Prefer mremap, fall back to munmap */
-            if ((CALL_MREMAP(sp->base, sp->size, newsize, 0) != MFAIL) ||
-                (CALL_MUNMAP(sp->base + newsize, extra) == 0)) {
-              released = extra;
-            }
-          }
-        }
-        else if (HAVE_MORECORE) {
-          if (extra >= HALF_MAX_SIZE_T) /* Avoid wrapping negative */
-            extra = (HALF_MAX_SIZE_T) + SIZE_T_ONE - unit;
-          ACQUIRE_MORECORE_LOCK();
-          {
-            /* Make sure end of memory is where we last set it. */
-            char* old_br = (char*)(CALL_MORECORE(0));
-            if (old_br == sp->base + sp->size) {
-              char* rel_br = (char*)(CALL_MORECORE(-extra));
-              char* new_br = (char*)(CALL_MORECORE(0));
-              if (rel_br != CMFAIL && new_br < old_br)
-                released = old_br - new_br;
-            }
-          }
-          RELEASE_MORECORE_LOCK();
-        }
-      }
-
-      if (released != 0) {
-        sp->size -= released;
-        m->footprint -= released;
-        init_top(m, m->top, m->topsize - released);
-        check_top_chunk(m, m->top);
-      }
-    }
-
-    /* Unmap any unused mmapped segments */
-    if (HAVE_MMAP) 
-      released += release_unused_segments(m);
-
-    /* On failure, disable autotrim to avoid repeated failed future calls */
-    if (released == 0)
-      m->trim_check = MAX_SIZE_T;
-  }
-
-  return (released != 0)? 1 : 0;
-}
-
-/* ---------------------------- malloc support --------------------------- */
-
-/* allocate a large request from the best fitting chunk in a treebin */
-static void* tmalloc_large(mstate m, size_t nb) {
-  tchunkptr v = 0;
-  size_t rsize = -nb; /* Unsigned negation */
-  tchunkptr t;
-  bindex_t idx;
-  compute_tree_index(nb, idx);
-
-  if ((t = *treebin_at(m, idx)) != 0) {
-    /* Traverse tree for this bin looking for node with size == nb */
-    size_t sizebits = nb << leftshift_for_tree_index(idx);
-    tchunkptr rst = 0;  /* The deepest untaken right subtree */
-    for (;;) {
-      tchunkptr rt;
-      size_t trem = chunksize(t) - nb;
-      if (trem < rsize) {
-        v = t;
-        if ((rsize = trem) == 0)
-          break;
-      }
-      rt = t->child[1];
-      t = t->child[(sizebits >> (SIZE_T_BITSIZE-SIZE_T_ONE)) & 1];
-      if (rt != 0 && rt != t)
-        rst = rt;
-      if (t == 0) {
-        t = rst; /* set t to least subtree holding sizes > nb */
-        break;
-      }
-      sizebits <<= 1;
-    }
-  }
-
-  if (t == 0 && v == 0) { /* set t to root of next non-empty treebin */
-    binmap_t leftbits = left_bits(idx2bit(idx)) & m->treemap;
-    if (leftbits != 0) {
-      bindex_t i;
-      binmap_t leastbit = least_bit(leftbits);
-      compute_bit2idx(leastbit, i);
-      t = *treebin_at(m, i);
-    }
-  }
-
-  while (t != 0) { /* find smallest of tree or subtree */
-    size_t trem = chunksize(t) - nb;
-    if (trem < rsize) {
-      rsize = trem;
-      v = t;
-    }
-    t = leftmost_child(t);
-  }
-
-  /*  If dv is a better fit, return 0 so malloc will use it */
-  if (v != 0 && rsize < (size_t)(m->dvsize - nb)) {
-    if (RTCHECK(ok_address(m, v))) { /* split */
-      mchunkptr r = chunk_plus_offset(v, nb);
-      assert(chunksize(v) == rsize + nb);
-      if (RTCHECK(ok_next(v, r))) {
-        unlink_large_chunk(m, v);
-        if (rsize < MIN_CHUNK_SIZE)
-          set_inuse_and_pinuse(m, v, (rsize + nb));
-        else {
-          set_size_and_pinuse_of_inuse_chunk(m, v, nb);
-          set_size_and_pinuse_of_free_chunk(r, rsize);
-          insert_chunk(m, r, rsize);
-        }
-        return chunk2mem(v);
-      }
-    }
-    CORRUPTION_ERROR_ACTION(m);
-  }
-  return 0;
-}
-
-/* allocate a small request from the best fitting chunk in a treebin */
-static void* tmalloc_small(mstate m, size_t nb) {
-  tchunkptr t, v;
-  size_t rsize;
-  bindex_t i;
-  binmap_t leastbit = least_bit(m->treemap);
-  compute_bit2idx(leastbit, i);
-
-  v = t = *treebin_at(m, i);
-  rsize = chunksize(t) - nb;
-
-  while ((t = leftmost_child(t)) != 0) {
-    size_t trem = chunksize(t) - nb;
-    if (trem < rsize) {
-      rsize = trem;
-      v = t;
-    }
-  }
-
-  if (RTCHECK(ok_address(m, v))) {
-    mchunkptr r = chunk_plus_offset(v, nb);
-    assert(chunksize(v) == rsize + nb);
-    if (RTCHECK(ok_next(v, r))) {
-      unlink_large_chunk(m, v);
-      if (rsize < MIN_CHUNK_SIZE)
-        set_inuse_and_pinuse(m, v, (rsize + nb));
-      else {
-        set_size_and_pinuse_of_inuse_chunk(m, v, nb);
-        set_size_and_pinuse_of_free_chunk(r, rsize);
-        replace_dv(m, r, rsize);
-      }
-      return chunk2mem(v);
-    }
-  }
-
-  CORRUPTION_ERROR_ACTION(m);
-  return 0;
-}
-
-/* --------------------------- realloc support --------------------------- */
-
-static void* internal_realloc(mstate m, void* oldmem, size_t bytes) {
-  if (bytes >= MAX_REQUEST) {
-    MALLOC_FAILURE_ACTION;
-    return 0;
-  }
-  if (!PREACTION(m)) {
-    mchunkptr oldp = mem2chunk(oldmem);
-    size_t oldsize = chunksize(oldp);
-    mchunkptr next = chunk_plus_offset(oldp, oldsize);
-    mchunkptr newp = 0;
-    void* extra = 0;
-
-    /* Try to either shrink or extend into top. Else malloc-copy-free */
-
-    if (RTCHECK(ok_address(m, oldp) && ok_cinuse(oldp) &&
-                ok_next(oldp, next) && ok_pinuse(next))) {
-      size_t nb = request2size(bytes);
-      if (is_mmapped(oldp))
-        newp = mmap_resize(m, oldp, nb);
-      else if (oldsize >= nb) { /* already big enough */
-        size_t rsize = oldsize - nb;
-        newp = oldp;
-        if (rsize >= MIN_CHUNK_SIZE) {
-          mchunkptr remainder = chunk_plus_offset(newp, nb);
-          set_inuse(m, newp, nb);
-          set_inuse(m, remainder, rsize);
-          extra = chunk2mem(remainder);
-        }
-      }
-      else if (next == m->top && oldsize + m->topsize > nb) {
-        /* Expand into top */
-        size_t newsize = oldsize + m->topsize;
-        size_t newtopsize = newsize - nb;
-        mchunkptr newtop = chunk_plus_offset(oldp, nb);
-        set_inuse(m, oldp, nb);
-        newtop->head = newtopsize |PINUSE_BIT;
-        m->top = newtop;
-        m->topsize = newtopsize;
-        newp = oldp;
-      }
-    }
-    else {
-      USAGE_ERROR_ACTION(m, oldmem);
-      POSTACTION(m);
-      return 0;
-    }
-
-    POSTACTION(m);
-
-    if (newp != 0) {
-      if (extra != 0) {
-        internal_free(m, extra);
-      }
-      check_inuse_chunk(m, newp);
-      return chunk2mem(newp);
-    }
-    else {
-      void* newmem = internal_malloc(m, bytes);
-      if (newmem != 0) {
-        size_t oc = oldsize - overhead_for(oldp);
-        memcpy(newmem, oldmem, (oc < bytes)? oc : bytes);
-        internal_free(m, oldmem);
-      }
-      return newmem;
-    }
-  }
-  return 0;
-}
-
-/* --------------------------- memalign support -------------------------- */
-
-static void* internal_memalign(mstate m, size_t alignment, size_t bytes) {
-  if (alignment <= MALLOC_ALIGNMENT)    /* Can just use malloc */
-    return internal_malloc(m, bytes);
-  if (alignment <  MIN_CHUNK_SIZE) /* must be at least a minimum chunk size */
-    alignment = MIN_CHUNK_SIZE;
-  if ((alignment & (alignment-SIZE_T_ONE)) != 0) {/* Ensure a power of 2 */
-    size_t a = MALLOC_ALIGNMENT << 1;
-    while (a < alignment) a <<= 1;
-    alignment = a;
-  }
-  
-  if (bytes >= MAX_REQUEST - alignment) {
-    if (m != 0)  { /* Test isn't needed but avoids compiler warning */
-      MALLOC_FAILURE_ACTION;
-    }
-  }
-  else {
-    size_t nb = request2size(bytes);
-    size_t req = nb + alignment + MIN_CHUNK_SIZE - CHUNK_OVERHEAD;
-    char* mem = (char*)internal_malloc(m, req);
-    if (mem != 0) {
-      void* leader = 0;
-      void* trailer = 0;
-      mchunkptr p = mem2chunk(mem);
-
-      if (PREACTION(m)) return 0;
-      if ((((size_t)(mem)) % alignment) != 0) { /* misaligned */
-        /*
-          Find an aligned spot inside chunk.  Since we need to give
-          back leading space in a chunk of at least MIN_CHUNK_SIZE, if
-          the first calculation places us at a spot with less than
-          MIN_CHUNK_SIZE leader, we can move to the next aligned spot.
-          We've allocated enough total room so that this is always
-          possible.
-        */
-        char* br = (char*)mem2chunk((size_t)(((size_t)(mem +
-                                                       alignment -
-                                                       SIZE_T_ONE)) &
-                                             -alignment));
-        char* pos = ((size_t)(br - (char*)(p)) >= MIN_CHUNK_SIZE)?
-          br : br+alignment;
-        mchunkptr newp = (mchunkptr)pos;
-        size_t leadsize = pos - (char*)(p);
-        size_t newsize = chunksize(p) - leadsize;
-
-        if (is_mmapped(p)) { /* For mmapped chunks, just adjust offset */
-          newp->prev_foot = p->prev_foot + leadsize;
-          newp->head = (newsize|CINUSE_BIT);
-        }
-        else { /* Otherwise, give back leader, use the rest */
-          set_inuse(m, newp, newsize);
-          set_inuse(m, p, leadsize);
-          leader = chunk2mem(p);
-        }
-        p = newp;
-      }
-
-      /* Give back spare room at the end */
-      if (!is_mmapped(p)) {
-        size_t size = chunksize(p);
-        if (size > nb + MIN_CHUNK_SIZE) {
-          size_t remainder_size = size - nb;
-          mchunkptr remainder = chunk_plus_offset(p, nb);
-          set_inuse(m, p, nb);
-          set_inuse(m, remainder, remainder_size);
-          trailer = chunk2mem(remainder);
-        }
-      }
-
-      assert (chunksize(p) >= nb);
-      assert((((size_t)(chunk2mem(p))) % alignment) == 0);
-      check_inuse_chunk(m, p);
-      POSTACTION(m);
-      if (leader != 0) {
-        internal_free(m, leader);
-      }
-      if (trailer != 0) {
-        internal_free(m, trailer);
-      }
-      return chunk2mem(p);
-    }
-  }
-  return 0;
-}
-
-/* ------------------------ comalloc/coalloc support --------------------- */
-
-static void** ialloc(mstate m,
-                     size_t n_elements,
-                     size_t* sizes,
-                     int opts,
-                     void* chunks[]) {
-  /*
-    This provides common support for independent_X routines, handling
-    all of the combinations that can result.
-
-    The opts arg has:
-    bit 0 set if all elements are same size (using sizes[0])
-    bit 1 set if elements should be zeroed
-  */
-
-  size_t    element_size;   /* chunksize of each element, if all same */
-  size_t    contents_size;  /* total size of elements */
-  size_t    array_size;     /* request size of pointer array */
-  void*     mem;            /* malloced aggregate space */
-  mchunkptr p;              /* corresponding chunk */
-  size_t    remainder_size; /* remaining bytes while splitting */
-  void**    marray;         /* either "chunks" or malloced ptr array */
-  mchunkptr array_chunk;    /* chunk for malloced ptr array */
-  flag_t    was_enabled;    /* to disable mmap */
-  size_t    size;
-  size_t    i;
-
-  /* compute array length, if needed */
-  if (chunks != 0) {
-    if (n_elements == 0)
-      return chunks; /* nothing to do */
-    marray = chunks;
-    array_size = 0;
-  }
-  else {
-    /* if empty req, must still return chunk representing empty array */
-    if (n_elements == 0)
-      return (void**)internal_malloc(m, 0);
-    marray = 0;
-    array_size = request2size(n_elements * (sizeof(void*)));
-  }
-
-  /* compute total element size */
-  if (opts & 0x1) { /* all-same-size */
-    element_size = request2size(*sizes);
-    contents_size = n_elements * element_size;
-  }
-  else { /* add up all the sizes */
-    element_size = 0;
-    contents_size = 0;
-    for (i = 0; i != n_elements; ++i)
-      contents_size += request2size(sizes[i]);
-  }
-
-  size = contents_size + array_size;
-
-  /*
-     Allocate the aggregate chunk.  First disable direct-mmapping so
-     malloc won't use it, since we would not be able to later
-     free/realloc space internal to a segregated mmap region.
-  */
-  was_enabled = use_mmap(m);
-  disable_mmap(m);
-  mem = internal_malloc(m, size - CHUNK_OVERHEAD);
-  if (was_enabled)
-    enable_mmap(m);
-  if (mem == 0)
-    return 0;
-
-  if (PREACTION(m)) return 0;
-  p = mem2chunk(mem);
-  remainder_size = chunksize(p);
-
-  assert(!is_mmapped(p));
-
-  if (opts & 0x2) {       /* optionally clear the elements */
-    memset((size_t*)mem, 0, remainder_size - SIZE_T_SIZE - array_size);
-  }
-
-  /* If not provided, allocate the pointer array as final part of chunk */
-  if (marray == 0) {
-    size_t  array_chunk_size;
-    array_chunk = chunk_plus_offset(p, contents_size);
-    array_chunk_size = remainder_size - contents_size;
-    marray = (void**) (chunk2mem(array_chunk));
-    set_size_and_pinuse_of_inuse_chunk(m, array_chunk, array_chunk_size);
-    remainder_size = contents_size;
-  }
-
-  /* split out elements */
-  for (i = 0; ; ++i) {
-    marray[i] = chunk2mem(p);
-    if (i != n_elements-1) {
-      if (element_size != 0)
-        size = element_size;
-      else
-        size = request2size(sizes[i]);
-      remainder_size -= size;
-      set_size_and_pinuse_of_inuse_chunk(m, p, size);
-      p = chunk_plus_offset(p, size);
-    }
-    else { /* the final element absorbs any overallocation slop */
-      set_size_and_pinuse_of_inuse_chunk(m, p, remainder_size);
-      break;
-    }
-  }
-
-#if DEBUG
-  if (marray != chunks) {
-    /* final element must have exactly exhausted chunk */
-    if (element_size != 0) {
-      assert(remainder_size == element_size);
-    }
-    else {
-      assert(remainder_size == request2size(sizes[i]));
-    }
-    check_inuse_chunk(m, mem2chunk(marray));
-  }
-  for (i = 0; i != n_elements; ++i)
-    check_inuse_chunk(m, mem2chunk(marray[i]));
-
-#endif /* DEBUG */
-
-  POSTACTION(m);
-  return marray;
-}
-
-
-/* -------------------------- public routines ---------------------------- */
-
-#if !ONLY_MSPACES
-
-void* dlmalloc(size_t bytes) {
-  /*
-     Basic algorithm:
-     If a small request (< 256 bytes minus per-chunk overhead):
-       1. If one exists, use a remainderless chunk in associated smallbin.
-          (Remainderless means that there are too few excess bytes to
-          represent as a chunk.)
-       2. If it is big enough, use the dv chunk, which is normally the
-          chunk adjacent to the one used for the most recent small request.
-       3. If one exists, split the smallest available chunk in a bin,
-          saving remainder in dv.
-       4. If it is big enough, use the top chunk.
-       5. If available, get memory from system and use it
-     Otherwise, for a large request:
-       1. Find the smallest available binned chunk that fits, and use it
-          if it is better fitting than dv chunk, splitting if necessary.
-       2. If better fitting than any binned chunk, use the dv chunk.
-       3. If it is big enough, use the top chunk.
-       4. If request size >= mmap threshold, try to directly mmap this chunk.
-       5. If available, get memory from system and use it
-
-     The ugly goto's here ensure that postaction occurs along all paths.
-  */
-
-  if (!PREACTION(gm)) {
-    void* mem;
-    size_t nb;
-    if (bytes <= MAX_SMALL_REQUEST) {
-      bindex_t idx;
-      binmap_t smallbits;
-      nb = (bytes < MIN_REQUEST)? MIN_CHUNK_SIZE : pad_request(bytes);
-      idx = small_index(nb);
-      smallbits = gm->smallmap >> idx;
-
-      if ((smallbits & 0x3U) != 0) { /* Remainderless fit to a smallbin. */
-        mchunkptr b, p;
-        idx += ~smallbits & 1;       /* Uses next bin if idx empty */
-        b = smallbin_at(gm, idx);
-        p = b->fd;
-        assert(chunksize(p) == small_index2size(idx));
-        unlink_first_small_chunk(gm, b, p, idx);
-        set_inuse_and_pinuse(gm, p, small_index2size(idx));
-        mem = chunk2mem(p);
-        check_malloced_chunk(gm, mem, nb);
-        goto postaction;
-      }
-
-      else if (nb > gm->dvsize) {
-        if (smallbits != 0) { /* Use chunk in next nonempty smallbin */
-          mchunkptr b, p, r;
-          size_t rsize;
-          bindex_t i;
-          binmap_t leftbits = (smallbits << idx) & left_bits(idx2bit(idx));
-          binmap_t leastbit = least_bit(leftbits);
-          compute_bit2idx(leastbit, i);
-          b = smallbin_at(gm, i);
-          p = b->fd;
-          assert(chunksize(p) == small_index2size(i));
-          unlink_first_small_chunk(gm, b, p, i);
-          rsize = small_index2size(i) - nb;
-          /* Fit here cannot be remainderless if 4byte sizes */
-          if (SIZE_T_SIZE != 4 && rsize < MIN_CHUNK_SIZE)
-            set_inuse_and_pinuse(gm, p, small_index2size(i));
-          else {
-            set_size_and_pinuse_of_inuse_chunk(gm, p, nb);
-            r = chunk_plus_offset(p, nb);
-            set_size_and_pinuse_of_free_chunk(r, rsize);
-            replace_dv(gm, r, rsize);
-          }
-          mem = chunk2mem(p);
-          check_malloced_chunk(gm, mem, nb);
-          goto postaction;
-        }
-
-        else if (gm->treemap != 0 && (mem = tmalloc_small(gm, nb)) != 0) {
-          check_malloced_chunk(gm, mem, nb);
-          goto postaction;
-        }
-      }
-    }
-    else if (bytes >= MAX_REQUEST)
-      nb = MAX_SIZE_T; /* Too big to allocate. Force failure (in sys alloc) */
-    else {
-      nb = pad_request(bytes);
-      if (gm->treemap != 0 && (mem = tmalloc_large(gm, nb)) != 0) {
-        check_malloced_chunk(gm, mem, nb);
-        goto postaction;
-      }
-    }
-
-    if (nb <= gm->dvsize) {
-      size_t rsize = gm->dvsize - nb;
-      mchunkptr p = gm->dv;
-      if (rsize >= MIN_CHUNK_SIZE) { /* split dv */
-        mchunkptr r = gm->dv = chunk_plus_offset(p, nb);
-        gm->dvsize = rsize;
-        set_size_and_pinuse_of_free_chunk(r, rsize);
-        set_size_and_pinuse_of_inuse_chunk(gm, p, nb);
-      }
-      else { /* exhaust dv */
-        size_t dvs = gm->dvsize;
-        gm->dvsize = 0;
-        gm->dv = 0;
-        set_inuse_and_pinuse(gm, p, dvs);
-      }
-      mem = chunk2mem(p);
-      check_malloced_chunk(gm, mem, nb);
-      goto postaction;
-    }
-
-    else if (nb < gm->topsize) { /* Split top */
-      size_t rsize = gm->topsize -= nb;
-      mchunkptr p = gm->top;
-      mchunkptr r = gm->top = chunk_plus_offset(p, nb);
-      r->head = rsize | PINUSE_BIT;
-      set_size_and_pinuse_of_inuse_chunk(gm, p, nb);
-      mem = chunk2mem(p);
-      check_top_chunk(gm, gm->top);
-      check_malloced_chunk(gm, mem, nb);
-      goto postaction;
-    }
-
-    mem = sys_alloc(gm, nb);
-
-  postaction:
-    POSTACTION(gm);
-    return mem;
-  }
-
-  return 0;
-}
-
-void dlfree(void* mem) {
-  /*
-     Consolidate freed chunks with preceding or succeeding bordering
-     free chunks, if they exist, and then place in a bin.  Intermixed
-     with special cases for top, dv, mmapped chunks, and usage errors.
-  */
-
-  if (mem != 0) {
-    mchunkptr p  = mem2chunk(mem);
-#if FOOTERS
-    mstate fm = get_mstate_for(p);
-    if (!ok_magic(fm)) {
-      USAGE_ERROR_ACTION(fm, p);
-      return;
-    }
-#else /* FOOTERS */
-#define fm gm
-#endif /* FOOTERS */
-    if (!PREACTION(fm)) {
-      check_inuse_chunk(fm, p);
-      if (RTCHECK(ok_address(fm, p) && ok_cinuse(p))) {
-        size_t psize = chunksize(p);
-        mchunkptr next = chunk_plus_offset(p, psize);
-        if (!pinuse(p)) {
-          size_t prevsize = p->prev_foot;
-          if ((prevsize & IS_MMAPPED_BIT) != 0) {
-            prevsize &= ~IS_MMAPPED_BIT;
-            psize += prevsize + MMAP_FOOT_PAD;
-            if (CALL_MUNMAP((char*)p - prevsize, psize) == 0)
-              fm->footprint -= psize;
-            goto postaction;
-          }
-          else {
-            mchunkptr prev = chunk_minus_offset(p, prevsize);
-            psize += prevsize;
-            p = prev;
-            if (RTCHECK(ok_address(fm, prev))) { /* consolidate backward */
-              if (p != fm->dv) {
-                unlink_chunk(fm, p, prevsize);
-              }
-              else if ((next->head & INUSE_BITS) == INUSE_BITS) {
-                fm->dvsize = psize;
-                set_free_with_pinuse(p, psize, next);
-                goto postaction;
-              }
-            }
-            else
-              goto erroraction;
-          }
-        }
-
-        if (RTCHECK(ok_next(p, next) && ok_pinuse(next))) {
-          if (!cinuse(next)) {  /* consolidate forward */
-            if (next == fm->top) {
-              size_t tsize = fm->topsize += psize;
-              fm->top = p;
-              p->head = tsize | PINUSE_BIT;
-              if (p == fm->dv) {
-                fm->dv = 0;
-                fm->dvsize = 0;
-              }
-              if (should_trim(fm, tsize))
-                sys_trim(fm, 0);
-              goto postaction;
-            }
-            else if (next == fm->dv) {
-              size_t dsize = fm->dvsize += psize;
-              fm->dv = p;
-              set_size_and_pinuse_of_free_chunk(p, dsize);
-              goto postaction;
-            }
-            else {
-              size_t nsize = chunksize(next);
-              psize += nsize;
-              unlink_chunk(fm, next, nsize);
-              set_size_and_pinuse_of_free_chunk(p, psize);
-              if (p == fm->dv) {
-                fm->dvsize = psize;
-                goto postaction;
-              }
-            }
-          }
-          else
-            set_free_with_pinuse(p, psize, next);
-          insert_chunk(fm, p, psize);
-          check_free_chunk(fm, p);
-          goto postaction;
-        }
-      }
-    erroraction:
-      USAGE_ERROR_ACTION(fm, p);
-    postaction:
-      POSTACTION(fm);
-    }
-  }
-#if !FOOTERS
-#undef fm
-#endif /* FOOTERS */
-}
-
-void* dlcalloc(size_t n_elements, size_t elem_size) {
-  void* mem;
-  size_t req = 0;
-  if (n_elements != 0) {
-    req = n_elements * elem_size;
-    if (((n_elements | elem_size) & ~(size_t)0xffff) &&
-        (req / n_elements != elem_size))
-      req = MAX_SIZE_T; /* force downstream failure on overflow */
-  }
-  mem = dlmalloc(req);
-  if (mem != 0 && calloc_must_clear(mem2chunk(mem)))
-    memset(mem, 0, req);
-  return mem;
-}
-
-void* dlrealloc(void* oldmem, size_t bytes) {
-  if (oldmem == 0)
-    return dlmalloc(bytes);
-#ifdef REALLOC_ZERO_BYTES_FREES
-  if (bytes == 0) {
-    dlfree(oldmem);
-    return 0;
-  }
-#endif /* REALLOC_ZERO_BYTES_FREES */
-  else {
-#if ! FOOTERS
-    mstate m = gm;
-#else /* FOOTERS */
-    mstate m = get_mstate_for(mem2chunk(oldmem));
-    if (!ok_magic(m)) {
-      USAGE_ERROR_ACTION(m, oldmem);
-      return 0;
-    }
-#endif /* FOOTERS */
-    return internal_realloc(m, oldmem, bytes);
-  }
-}
-
-void* dlmemalign(size_t alignment, size_t bytes) {
-  return internal_memalign(gm, alignment, bytes);
-}
-
-void** dlindependent_calloc(size_t n_elements, size_t elem_size,
-                                 void* chunks[]) {
-  size_t sz = elem_size; /* serves as 1-element array */
-  return ialloc(gm, n_elements, &sz, 3, chunks);
-}
-
-void** dlindependent_comalloc(size_t n_elements, size_t sizes[],
-                                   void* chunks[]) {
-  return ialloc(gm, n_elements, sizes, 0, chunks);
-}
-
-void* dlvalloc(size_t bytes) {
-  size_t pagesz;
-  init_mparams();
-  pagesz = mparams.page_size;
-  return dlmemalign(pagesz, bytes);
-}
-
-void* dlpvalloc(size_t bytes) {
-  size_t pagesz;
-  init_mparams();
-  pagesz = mparams.page_size;
-  return dlmemalign(pagesz, (bytes + pagesz - SIZE_T_ONE) & ~(pagesz - SIZE_T_ONE));
-}
-
-int dlmalloc_trim(size_t pad) {
-  int result = 0;
-  if (!PREACTION(gm)) {
-    result = sys_trim(gm, pad);
-    POSTACTION(gm);
-  }
-  return result;
-}
-
-size_t dlmalloc_footprint(void) {
-  return gm->footprint;
-}
-
-size_t dlmalloc_max_footprint(void) {
-  return gm->max_footprint;
-}
-
-#if !NO_MALLINFO
-struct mallinfo dlmallinfo(void) {
-  return internal_mallinfo(gm);
-}
-#endif /* NO_MALLINFO */
-
-void dlmalloc_stats() {
-  internal_malloc_stats(gm);
-}
-
-size_t dlmalloc_usable_size(void* mem) {
-  if (mem != 0) {
-    mchunkptr p = mem2chunk(mem);
-    if (cinuse(p))
-      return chunksize(p) - overhead_for(p);
-  }
-  return 0;
-}
-
-int dlmallopt(int param_number, int value) {
-  return change_mparam(param_number, value);
-}
-
-#endif /* !ONLY_MSPACES */
-
-/* ----------------------------- user mspaces ---------------------------- */
-
-#if MSPACES
-
-static mstate init_user_mstate(char* tbase, size_t tsize) {
-  size_t msize = pad_request(sizeof(struct malloc_state));
-  mchunkptr mn;
-  mchunkptr msp = align_as_chunk(tbase);
-  mstate m = (mstate)(chunk2mem(msp));
-  memset(m, 0, msize);
-  INITIAL_LOCK(&m->mutex);
-  msp->head = (msize|PINUSE_BIT|CINUSE_BIT);
-  m->seg.base = m->least_addr = tbase;
-  m->seg.size = m->footprint = m->max_footprint = tsize;
-  m->magic = mparams.magic;
-  m->mflags = mparams.default_mflags;
-  disable_contiguous(m);
-  init_bins(m);
-  mn = next_chunk(mem2chunk(m));
-  init_top(m, mn, (size_t)((tbase + tsize) - (char*)mn) - TOP_FOOT_SIZE);
-  check_top_chunk(m, m->top);
-  return m;
-}
-
-mspace create_mspace(size_t capacity, int locked) {
-  mstate m = 0;
-  size_t msize = pad_request(sizeof(struct malloc_state));
-  init_mparams(); /* Ensure pagesize etc initialized */
-
-  if (capacity < (size_t) -(msize + TOP_FOOT_SIZE + mparams.page_size)) {
-    size_t rs = ((capacity == 0)? mparams.granularity :
-                 (capacity + TOP_FOOT_SIZE + msize));
-    size_t tsize = granularity_align(rs);
-    char* tbase = (char*)(CALL_MMAP(tsize));
-    if (tbase != CMFAIL) {
-      m = init_user_mstate(tbase, tsize);
-      set_segment_flags(&m->seg, IS_MMAPPED_BIT);
-      set_lock(m, locked);
-    }
-  }
-  return (mspace)m;
-}
-
-mspace create_mspace_with_base(void* base, size_t capacity, int locked) {
-  mstate m = 0;
-  size_t msize = pad_request(sizeof(struct malloc_state));
-  init_mparams(); /* Ensure pagesize etc initialized */
-
-  if (capacity > msize + TOP_FOOT_SIZE &&
-      capacity < (size_t) -(msize + TOP_FOOT_SIZE + mparams.page_size)) {
-    m = init_user_mstate((char*)base, capacity);
-    set_segment_flags(&m->seg, EXTERN_BIT);
-    set_lock(m, locked);
-  }
-  return (mspace)m;
-}
-
-size_t destroy_mspace(mspace msp) {
-  size_t freed = 0;
-  mstate ms = (mstate)msp;
-  if (ok_magic(ms)) {
-    msegmentptr sp = &ms->seg;
-    while (sp != 0) {
-      char* base = sp->base;
-      size_t size = sp->size;
-      flag_t flag = get_segment_flags(sp);
-      sp = sp->next;
-      if ((flag & IS_MMAPPED_BIT) && !(flag & EXTERN_BIT) &&
-          CALL_MUNMAP(base, size) == 0)
-        freed += size;
-    }
-  }
-  else {
-    USAGE_ERROR_ACTION(ms,ms);
-  }
-  return freed;
-}
-
-/*
-  mspace versions of routines are near-clones of the global
-  versions. This is not so nice but better than the alternatives.
-*/
-
-
-void* mspace_malloc(mspace msp, size_t bytes) {
-  mstate ms = (mstate)msp;
-  if (!ok_magic(ms)) {
-    USAGE_ERROR_ACTION(ms,ms);
-    return 0;
-  }
-  if (!PREACTION(ms)) {
-    void* mem;
-    size_t nb;
-    if (bytes <= MAX_SMALL_REQUEST) {
-      bindex_t idx;
-      binmap_t smallbits;
-      nb = (bytes < MIN_REQUEST)? MIN_CHUNK_SIZE : pad_request(bytes);
-      idx = small_index(nb);
-      smallbits = ms->smallmap >> idx;
-
-      if ((smallbits & 0x3U) != 0) { /* Remainderless fit to a smallbin. */
-        mchunkptr b, p;
-        idx += ~smallbits & 1;       /* Uses next bin if idx empty */
-        b = smallbin_at(ms, idx);
-        p = b->fd;
-        assert(chunksize(p) == small_index2size(idx));
-        unlink_first_small_chunk(ms, b, p, idx);
-        set_inuse_and_pinuse(ms, p, small_index2size(idx));
-        mem = chunk2mem(p);
-        check_malloced_chunk(ms, mem, nb);
-        goto postaction;
-      }
-
-      else if (nb > ms->dvsize) {
-        if (smallbits != 0) { /* Use chunk in next nonempty smallbin */
-          mchunkptr b, p, r;
-          size_t rsize;
-          bindex_t i;
-          binmap_t leftbits = (smallbits << idx) & left_bits(idx2bit(idx));
-          binmap_t leastbit = least_bit(leftbits);
-          compute_bit2idx(leastbit, i);
-          b = smallbin_at(ms, i);
-          p = b->fd;
-          assert(chunksize(p) == small_index2size(i));
-          unlink_first_small_chunk(ms, b, p, i);
-          rsize = small_index2size(i) - nb;
-          /* Fit here cannot be remainderless if 4byte sizes */
-          if (SIZE_T_SIZE != 4 && rsize < MIN_CHUNK_SIZE)
-            set_inuse_and_pinuse(ms, p, small_index2size(i));
-          else {
-            set_size_and_pinuse_of_inuse_chunk(ms, p, nb);
-            r = chunk_plus_offset(p, nb);
-            set_size_and_pinuse_of_free_chunk(r, rsize);
-            replace_dv(ms, r, rsize);
-          }
-          mem = chunk2mem(p);
-          check_malloced_chunk(ms, mem, nb);
-          goto postaction;
-        }
-
-        else if (ms->treemap != 0 && (mem = tmalloc_small(ms, nb)) != 0) {
-          check_malloced_chunk(ms, mem, nb);
-          goto postaction;
-        }
-      }
-    }
-    else if (bytes >= MAX_REQUEST)
-      nb = MAX_SIZE_T; /* Too big to allocate. Force failure (in sys alloc) */
-    else {
-      nb = pad_request(bytes);
-      if (ms->treemap != 0 && (mem = tmalloc_large(ms, nb)) != 0) {
-        check_malloced_chunk(ms, mem, nb);
-        goto postaction;
-      }
-    }
-
-    if (nb <= ms->dvsize) {
-      size_t rsize = ms->dvsize - nb;
-      mchunkptr p = ms->dv;
-      if (rsize >= MIN_CHUNK_SIZE) { /* split dv */
-        mchunkptr r = ms->dv = chunk_plus_offset(p, nb);
-        ms->dvsize = rsize;
-        set_size_and_pinuse_of_free_chunk(r, rsize);
-        set_size_and_pinuse_of_inuse_chunk(ms, p, nb);
-      }
-      else { /* exhaust dv */
-        size_t dvs = ms->dvsize;
-        ms->dvsize = 0;
-        ms->dv = 0;
-        set_inuse_and_pinuse(ms, p, dvs);
-      }
-      mem = chunk2mem(p);
-      check_malloced_chunk(ms, mem, nb);
-      goto postaction;
-    }
-
-    else if (nb < ms->topsize) { /* Split top */
-      size_t rsize = ms->topsize -= nb;
-      mchunkptr p = ms->top;
-      mchunkptr r = ms->top = chunk_plus_offset(p, nb);
-      r->head = rsize | PINUSE_BIT;
-      set_size_and_pinuse_of_inuse_chunk(ms, p, nb);
-      mem = chunk2mem(p);
-      check_top_chunk(ms, ms->top);
-      check_malloced_chunk(ms, mem, nb);
-      goto postaction;
-    }
-
-    mem = sys_alloc(ms, nb);
-
-  postaction:
-    POSTACTION(ms);
-    return mem;
-  }
-
-  return 0;
-}
-
-void mspace_free(mspace msp, void* mem) {
-  if (mem != 0) {
-    mchunkptr p  = mem2chunk(mem);
-#if FOOTERS
-    mstate fm = get_mstate_for(p);
-#else /* FOOTERS */
-    mstate fm = (mstate)msp;
-#endif /* FOOTERS */
-    if (!ok_magic(fm)) {
-      USAGE_ERROR_ACTION(fm, p);
-      return;
-    }
-    if (!PREACTION(fm)) {
-      check_inuse_chunk(fm, p);
-      if (RTCHECK(ok_address(fm, p) && ok_cinuse(p))) {
-        size_t psize = chunksize(p);
-        mchunkptr next = chunk_plus_offset(p, psize);
-        if (!pinuse(p)) {
-          size_t prevsize = p->prev_foot;
-          if ((prevsize & IS_MMAPPED_BIT) != 0) {
-            prevsize &= ~IS_MMAPPED_BIT;
-            psize += prevsize + MMAP_FOOT_PAD;
-            if (CALL_MUNMAP((char*)p - prevsize, psize) == 0)
-              fm->footprint -= psize;
-            goto postaction;
-          }
-          else {
-            mchunkptr prev = chunk_minus_offset(p, prevsize);
-            psize += prevsize;
-            p = prev;
-            if (RTCHECK(ok_address(fm, prev))) { /* consolidate backward */
-              if (p != fm->dv) {
-                unlink_chunk(fm, p, prevsize);
-              }
-              else if ((next->head & INUSE_BITS) == INUSE_BITS) {
-                fm->dvsize = psize;
-                set_free_with_pinuse(p, psize, next);
-                goto postaction;
-              }
-            }
-            else
-              goto erroraction;
-          }
-        }
-
-        if (RTCHECK(ok_next(p, next) && ok_pinuse(next))) {
-          if (!cinuse(next)) {  /* consolidate forward */
-            if (next == fm->top) {
-              size_t tsize = fm->topsize += psize;
-              fm->top = p;
-              p->head = tsize | PINUSE_BIT;
-              if (p == fm->dv) {
-                fm->dv = 0;
-                fm->dvsize = 0;
-              }
-              if (should_trim(fm, tsize))
-                sys_trim(fm, 0);
-              goto postaction;
-            }
-            else if (next == fm->dv) {
-              size_t dsize = fm->dvsize += psize;
-              fm->dv = p;
-              set_size_and_pinuse_of_free_chunk(p, dsize);
-              goto postaction;
-            }
-            else {
-              size_t nsize = chunksize(next);
-              psize += nsize;
-              unlink_chunk(fm, next, nsize);
-              set_size_and_pinuse_of_free_chunk(p, psize);
-              if (p == fm->dv) {
-                fm->dvsize = psize;
-                goto postaction;
-              }
-            }
-          }
-          else
-            set_free_with_pinuse(p, psize, next);
-          insert_chunk(fm, p, psize);
-          check_free_chunk(fm, p);
-          goto postaction;
-        }
-      }
-    erroraction:
-      USAGE_ERROR_ACTION(fm, p);
-    postaction:
-      POSTACTION(fm);
-    }
-  }
-}
-
-void* mspace_calloc(mspace msp, size_t n_elements, size_t elem_size) {
-  void* mem;
-  size_t req = 0;
-  mstate ms = (mstate)msp;
-  if (!ok_magic(ms)) {
-    USAGE_ERROR_ACTION(ms,ms);
-    return 0;
-  }
-  if (n_elements != 0) {
-    req = n_elements * elem_size;
-    if (((n_elements | elem_size) & ~(size_t)0xffff) &&
-        (req / n_elements != elem_size))
-      req = MAX_SIZE_T; /* force downstream failure on overflow */
-  }
-  mem = internal_malloc(ms, req);
-  if (mem != 0 && calloc_must_clear(mem2chunk(mem)))
-    memset(mem, 0, req);
-  return mem;
-}
-
-void* mspace_realloc(mspace msp, void* oldmem, size_t bytes) {
-  if (oldmem == 0)
-    return mspace_malloc(msp, bytes);
-#ifdef REALLOC_ZERO_BYTES_FREES
-  if (bytes == 0) {
-    mspace_free(msp, oldmem);
-    return 0;
-  }
-#endif /* REALLOC_ZERO_BYTES_FREES */
-  else {
-#if FOOTERS
-    mchunkptr p  = mem2chunk(oldmem);
-    mstate ms = get_mstate_for(p);
-#else /* FOOTERS */
-    mstate ms = (mstate)msp;
-#endif /* FOOTERS */
-    if (!ok_magic(ms)) {
-      USAGE_ERROR_ACTION(ms,ms);
-      return 0;
-    }
-    return internal_realloc(ms, oldmem, bytes);
-  }
-}
-
-void* mspace_memalign(mspace msp, size_t alignment, size_t bytes) {
-  mstate ms = (mstate)msp;
-  if (!ok_magic(ms)) {
-    USAGE_ERROR_ACTION(ms,ms);
-    return 0;
-  }
-  return internal_memalign(ms, alignment, bytes);
-}
-
-void** mspace_independent_calloc(mspace msp, size_t n_elements,
-                                 size_t elem_size, void* chunks[]) {
-  size_t sz = elem_size; /* serves as 1-element array */
-  mstate ms = (mstate)msp;
-  if (!ok_magic(ms)) {
-    USAGE_ERROR_ACTION(ms,ms);
-    return 0;
-  }
-  return ialloc(ms, n_elements, &sz, 3, chunks);
-}
-
-void** mspace_independent_comalloc(mspace msp, size_t n_elements,
-                                   size_t sizes[], void* chunks[]) {
-  mstate ms = (mstate)msp;
-  if (!ok_magic(ms)) {
-    USAGE_ERROR_ACTION(ms,ms);
-    return 0;
-  }
-  return ialloc(ms, n_elements, sizes, 0, chunks);
-}
-
-int mspace_trim(mspace msp, size_t pad) {
-  int result = 0;
-  mstate ms = (mstate)msp;
-  if (ok_magic(ms)) {
-    if (!PREACTION(ms)) {
-      result = sys_trim(ms, pad);
-      POSTACTION(ms);
-    }
-  }
-  else {
-    USAGE_ERROR_ACTION(ms,ms);
-  }
-  return result;
-}
-
-void mspace_malloc_stats(mspace msp) {
-  mstate ms = (mstate)msp;
-  if (ok_magic(ms)) {
-    internal_malloc_stats(ms);
-  }
-  else {
-    USAGE_ERROR_ACTION(ms,ms);
-  }
-}
-
-size_t mspace_footprint(mspace msp) {
-  size_t result;
-  mstate ms = (mstate)msp;
-  if (ok_magic(ms)) {
-    result = ms->footprint;
-  }
-  USAGE_ERROR_ACTION(ms,ms);
-  return result;
-}
-
-
-size_t mspace_max_footprint(mspace msp) {
-  size_t result;
-  mstate ms = (mstate)msp;
-  if (ok_magic(ms)) {
-    result = ms->max_footprint;
-  }
-  USAGE_ERROR_ACTION(ms,ms);
-  return result;
-}
-
-
-#if !NO_MALLINFO
-struct mallinfo mspace_mallinfo(mspace msp) {
-  mstate ms = (mstate)msp;
-  if (!ok_magic(ms)) {
-    USAGE_ERROR_ACTION(ms,ms);
-  }
-  return internal_mallinfo(ms);
-}
-#endif /* NO_MALLINFO */
-
-int mspace_mallopt(int param_number, int value) {
-  return change_mparam(param_number, value);
-}
-
-#endif /* MSPACES */
-
-/* -------------------- Alternative MORECORE functions ------------------- */
-
-/*
-  Guidelines for creating a custom version of MORECORE:
-
-  * For best performance, MORECORE should allocate in multiples of pagesize.
-  * MORECORE may allocate more memory than requested. (Or even less,
-      but this will usually result in a malloc failure.)
-  * MORECORE must not allocate memory when given argument zero, but
-      instead return one past the end address of memory from previous
-      nonzero call.
-  * For best performance, consecutive calls to MORECORE with positive
-      arguments should return increasing addresses, indicating that
-      space has been contiguously extended.
-  * Even though consecutive calls to MORECORE need not return contiguous
-      addresses, it must be OK for malloc'ed chunks to span multiple
-      regions in those cases where they do happen to be contiguous.
-  * MORECORE need not handle negative arguments -- it may instead
-      just return MFAIL when given negative arguments.
-      Negative arguments are always multiples of pagesize. MORECORE
-      must not misinterpret negative args as large positive unsigned
-      args. You can suppress all such calls from even occurring by defining
-      MORECORE_CANNOT_TRIM,
-
-  As an example alternative MORECORE, here is a custom allocator
-  kindly contributed for pre-OSX macOS.  It uses virtually but not
-  necessarily physically contiguous non-paged memory (locked in,
-  present and won't get swapped out).  You can use it by uncommenting
-  this section, adding some #includes, and setting up the appropriate
-  defines above:
-
-      #define MORECORE osMoreCore
-
-  There is also a shutdown routine that should somehow be called for
-  cleanup upon program exit.
-
-  #define MAX_POOL_ENTRIES 100
-  #define MINIMUM_MORECORE_SIZE  (64 * 1024U)
-  static int next_os_pool;
-  void *our_os_pools[MAX_POOL_ENTRIES];
-
-  void *osMoreCore(int size)
-  {
-    void *ptr = 0;
-    static void *sbrk_top = 0;
-
-    if (size > 0)
-    {
-      if (size < MINIMUM_MORECORE_SIZE)
-         size = MINIMUM_MORECORE_SIZE;
-      if (CurrentExecutionLevel() == kTaskLevel)
-         ptr = PoolAllocateResident(size + RM_PAGE_SIZE, 0);
-      if (ptr == 0)
-      {
-        return (void *) MFAIL;
-      }
-      // save ptrs so they can be freed during cleanup
-      our_os_pools[next_os_pool] = ptr;
-      next_os_pool++;
-      ptr = (void *) ((((size_t) ptr) + RM_PAGE_MASK) & ~RM_PAGE_MASK);
-      sbrk_top = (char *) ptr + size;
-      return ptr;
-    }
-    else if (size < 0)
-    {
-      // we don't currently support shrink behavior
-      return (void *) MFAIL;
-    }
-    else
-    {
-      return sbrk_top;
-    }
-  }
-
-  // cleanup any allocated memory pools
-  // called as last thing before shutting down driver
-
-  void osCleanupMem(void)
-  {
-    void **ptr;
-
-    for (ptr = our_os_pools; ptr < &our_os_pools[MAX_POOL_ENTRIES]; ptr++)
-      if (*ptr)
-      {
-         PoolDeallocate(*ptr);
-         *ptr = 0;
-      }
-  }
-
-*/
-
-
-/* -----------------------------------------------------------------------
-History:
-    V2.8.3 Thu Sep 22 11:16:32 2005  Doug Lea  (dl at gee)
-      * Add max_footprint functions
-      * Ensure all appropriate literals are size_t
-      * Fix conditional compilation problem for some #define settings
-      * Avoid concatenating segments with the one provided
-        in create_mspace_with_base
-      * Rename some variables to avoid compiler shadowing warnings
-      * Use explicit lock initialization.
-      * Better handling of sbrk interference.
-      * Simplify and fix segment insertion, trimming and mspace_destroy
-      * Reinstate REALLOC_ZERO_BYTES_FREES option from 2.7.x
-      * Thanks especially to Dennis Flanagan for help on these.
-
-    V2.8.2 Sun Jun 12 16:01:10 2005  Doug Lea  (dl at gee)
-      * Fix memalign brace error.
-
-    V2.8.1 Wed Jun  8 16:11:46 2005  Doug Lea  (dl at gee)
-      * Fix improper #endif nesting in C++
-      * Add explicit casts needed for C++
-
-    V2.8.0 Mon May 30 14:09:02 2005  Doug Lea  (dl at gee)
-      * Use trees for large bins
-      * Support mspaces
-      * Use segments to unify sbrk-based and mmap-based system allocation,
-        removing need for emulation on most platforms without sbrk.
-      * Default safety checks
-      * Optional footer checks. Thanks to William Robertson for the idea.
-      * Internal code refactoring
-      * Incorporate suggestions and platform-specific changes.
-        Thanks to Dennis Flanagan, Colin Plumb, Niall Douglas,
-        Aaron Bachmann,  Emery Berger, and others.
-      * Speed up non-fastbin processing enough to remove fastbins.
-      * Remove useless cfree() to avoid conflicts with other apps.
-      * Remove internal memcpy, memset. Compilers handle builtins better.
-      * Remove some options that no one ever used and rename others.
-
-    V2.7.2 Sat Aug 17 09:07:30 2002  Doug Lea  (dl at gee)
-      * Fix malloc_state bitmap array misdeclaration
-
-    V2.7.1 Thu Jul 25 10:58:03 2002  Doug Lea  (dl at gee)
-      * Allow tuning of FIRST_SORTED_BIN_SIZE
-      * Use PTR_UINT as type for all ptr->int casts. Thanks to John Belmonte.
-      * Better detection and support for non-contiguousness of MORECORE.
-        Thanks to Andreas Mueller, Conal Walsh, and Wolfram Gloger
-      * Bypass most of malloc if no frees. Thanks To Emery Berger.
-      * Fix freeing of old top non-contiguous chunk im sysmalloc.
-      * Raised default trim and map thresholds to 256K.
-      * Fix mmap-related #defines. Thanks to Lubos Lunak.
-      * Fix copy macros; added LACKS_FCNTL_H. Thanks to Neal Walfield.
-      * Branch-free bin calculation
-      * Default trim and mmap thresholds now 256K.
-
-    V2.7.0 Sun Mar 11 14:14:06 2001  Doug Lea  (dl at gee)
-      * Introduce independent_comalloc and independent_calloc.
-        Thanks to Michael Pachos for motivation and help.
-      * Make optional .h file available
-      * Allow > 2GB requests on 32bit systems.
-      * new WIN32 sbrk, mmap, munmap, lock code from <Walter@GeNeSys-e.de>.
-        Thanks also to Andreas Mueller <a.mueller at paradatec.de>,
-        and Anonymous.
-      * Allow override of MALLOC_ALIGNMENT (Thanks to Ruud Waij for
-        helping test this.)
-      * memalign: check alignment arg
-      * realloc: don't try to shift chunks backwards, since this
-        leads to  more fragmentation in some programs and doesn't
-        seem to help in any others.
-      * Collect all cases in malloc requiring system memory into sysmalloc
-      * Use mmap as backup to sbrk
-      * Place all internal state in malloc_state
-      * Introduce fastbins (although similar to 2.5.1)
-      * Many minor tunings and cosmetic improvements
-      * Introduce USE_PUBLIC_MALLOC_WRAPPERS, USE_MALLOC_LOCK
-      * Introduce MALLOC_FAILURE_ACTION, MORECORE_CONTIGUOUS
-        Thanks to Tony E. Bennett <tbennett@nvidia.com> and others.
-      * Include errno.h to support default failure action.
-
-    V2.6.6 Sun Dec  5 07:42:19 1999  Doug Lea  (dl at gee)
-      * return null for negative arguments
-      * Added Several WIN32 cleanups from Martin C. Fong <mcfong at yahoo.com>
-         * Add 'LACKS_SYS_PARAM_H' for those systems without 'sys/param.h'
-          (e.g. WIN32 platforms)
-         * Cleanup header file inclusion for WIN32 platforms
-         * Cleanup code to avoid Microsoft Visual C++ compiler complaints
-         * Add 'USE_DL_PREFIX' to quickly allow co-existence with existing
-           memory allocation routines
-         * Set 'malloc_getpagesize' for WIN32 platforms (needs more work)
-         * Use 'assert' rather than 'ASSERT' in WIN32 code to conform to
-           usage of 'assert' in non-WIN32 code
-         * Improve WIN32 'sbrk()' emulation's 'findRegion()' routine to
-           avoid infinite loop
-      * Always call 'fREe()' rather than 'free()'
-
-    V2.6.5 Wed Jun 17 15:57:31 1998  Doug Lea  (dl at gee)
-      * Fixed ordering problem with boundary-stamping
-
-    V2.6.3 Sun May 19 08:17:58 1996  Doug Lea  (dl at gee)
-      * Added pvalloc, as recommended by H.J. Liu
-      * Added 64bit pointer support mainly from Wolfram Gloger
-      * Added anonymously donated WIN32 sbrk emulation
-      * Malloc, calloc, getpagesize: add optimizations from Raymond Nijssen
-      * malloc_extend_top: fix mask error that caused wastage after
-        foreign sbrks
-      * Add linux mremap support code from HJ Liu
-
-    V2.6.2 Tue Dec  5 06:52:55 1995  Doug Lea  (dl at gee)
-      * Integrated most documentation with the code.
-      * Add support for mmap, with help from
-        Wolfram Gloger (Gloger@lrz.uni-muenchen.de).
-      * Use last_remainder in more cases.
-      * Pack bins using idea from  colin@nyx10.cs.du.edu
-      * Use ordered bins instead of best-fit threshhold
-      * Eliminate block-local decls to simplify tracing and debugging.
-      * Support another case of realloc via move into top
-      * Fix error occuring when initial sbrk_base not word-aligned.
-      * Rely on page size for units instead of SBRK_UNIT to
-        avoid surprises about sbrk alignment conventions.
-      * Add mallinfo, mallopt. Thanks to Raymond Nijssen
-        (raymond@es.ele.tue.nl) for the suggestion.
-      * Add `pad' argument to malloc_trim and top_pad mallopt parameter.
-      * More precautions for cases where other routines call sbrk,
-        courtesy of Wolfram Gloger (Gloger@lrz.uni-muenchen.de).
-      * Added macros etc., allowing use in linux libc from
-        H.J. Lu (hjl@gnu.ai.mit.edu)
-      * Inverted this history list
-
-    V2.6.1 Sat Dec  2 14:10:57 1995  Doug Lea  (dl at gee)
-      * Re-tuned and fixed to behave more nicely with V2.6.0 changes.
-      * Removed all preallocation code since under current scheme
-        the work required to undo bad preallocations exceeds
-        the work saved in good cases for most test programs.
-      * No longer use return list or unconsolidated bins since
-        no scheme using them consistently outperforms those that don't
-        given above changes.
-      * Use best fit for very large chunks to prevent some worst-cases.
-      * Added some support for debugging
-
-    V2.6.0 Sat Nov  4 07:05:23 1995  Doug Lea  (dl at gee)
-      * Removed footers when chunks are in use. Thanks to
-        Paul Wilson (wilson@cs.texas.edu) for the suggestion.
-
-    V2.5.4 Wed Nov  1 07:54:51 1995  Doug Lea  (dl at gee)
-      * Added malloc_trim, with help from Wolfram Gloger
-        (wmglo@Dent.MED.Uni-Muenchen.DE).
-
-    V2.5.3 Tue Apr 26 10:16:01 1994  Doug Lea  (dl at g)
-
-    V2.5.2 Tue Apr  5 16:20:40 1994  Doug Lea  (dl at g)
-      * realloc: try to expand in both directions
-      * malloc: swap order of clean-bin strategy;
-      * realloc: only conditionally expand backwards
-      * Try not to scavenge used bins
-      * Use bin counts as a guide to preallocation
-      * Occasionally bin return list chunks in first scan
-      * Add a few optimizations from colin@nyx10.cs.du.edu
-
-    V2.5.1 Sat Aug 14 15:40:43 1993  Doug Lea  (dl at g)
-      * faster bin computation & slightly different binning
-      * merged all consolidations to one part of malloc proper
-         (eliminating old malloc_find_space & malloc_clean_bin)
-      * Scan 2 returns chunks (not just 1)
-      * Propagate failure in realloc if malloc returns 0
-      * Add stuff to allow compilation on non-ANSI compilers
-          from kpv@research.att.com
-
-    V2.5 Sat Aug  7 07:41:59 1993  Doug Lea  (dl at g.oswego.edu)
-      * removed potential for odd address access in prev_chunk
-      * removed dependency on getpagesize.h
-      * misc cosmetics and a bit more internal documentation
-      * anticosmetics: mangled names in macros to evade debugger strangeness
-      * tested on sparc, hp-700, dec-mips, rs6000
-          with gcc & native cc (hp, dec only) allowing
-          Detlefs & Zorn comparison study (in SIGPLAN Notices.)
-
-    Trial version Fri Aug 28 13:14:29 1992  Doug Lea  (dl at g.oswego.edu)
-      * Based loosely on libg++-1.2X malloc. (It retains some of the overall
-         structure of old version,  but most details differ.)
-*/
diff --git a/.pc/interix-patch/.timestamp b/.pc/interix-patch/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/interix-patch/src/closures.c b/.pc/interix-patch/src/closures.c
deleted file mode 100644 (file)
index b8392c8..0000000
+++ /dev/null
@@ -1,615 +0,0 @@
-/* -----------------------------------------------------------------------
-   closures.c - Copyright (c) 2007, 2009, 2010  Red Hat, Inc.
-                Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc
-                Copyright (c) 2011 Plausible Labs Cooperative, Inc.
-
-   Code to allocate and deallocate memory for closures.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#if defined __linux__ && !defined _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#if !FFI_MMAP_EXEC_WRIT && !FFI_EXEC_TRAMPOLINE_TABLE
-# if __gnu_linux__
-/* This macro indicates it may be forbidden to map anonymous memory
-   with both write and execute permission.  Code compiled when this
-   option is defined will attempt to map such pages once, but if it
-   fails, it falls back to creating a temporary file in a writable and
-   executable filesystem and mapping pages from it into separate
-   locations in the virtual memory space, one location writable and
-   another executable.  */
-#  define FFI_MMAP_EXEC_WRIT 1
-#  define HAVE_MNTENT 1
-# endif
-# if defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)
-/* Windows systems may have Data Execution Protection (DEP) enabled, 
-   which requires the use of VirtualMalloc/VirtualFree to alloc/free
-   executable memory. */
-#  define FFI_MMAP_EXEC_WRIT 1
-# endif
-#endif
-
-#if FFI_MMAP_EXEC_WRIT && !defined FFI_MMAP_EXEC_SELINUX
-# ifdef __linux__
-/* When defined to 1 check for SELinux and if SELinux is active,
-   don't attempt PROT_EXEC|PROT_WRITE mapping at all, as that
-   might cause audit messages.  */
-#  define FFI_MMAP_EXEC_SELINUX 1
-# endif
-#endif
-
-#if FFI_CLOSURES
-
-# if FFI_EXEC_TRAMPOLINE_TABLE
-
-// Per-target implementation; It's unclear what can reasonable be shared between two OS/architecture implementations.
-
-# elif FFI_MMAP_EXEC_WRIT /* !FFI_EXEC_TRAMPOLINE_TABLE */
-
-#define USE_LOCKS 1
-#define USE_DL_PREFIX 1
-#ifdef __GNUC__
-#ifndef USE_BUILTIN_FFS
-#define USE_BUILTIN_FFS 1
-#endif
-#endif
-
-/* We need to use mmap, not sbrk.  */
-#define HAVE_MORECORE 0
-
-/* We could, in theory, support mremap, but it wouldn't buy us anything.  */
-#define HAVE_MREMAP 0
-
-/* We have no use for this, so save some code and data.  */
-#define NO_MALLINFO 1
-
-/* We need all allocations to be in regular segments, otherwise we
-   lose track of the corresponding code address.  */
-#define DEFAULT_MMAP_THRESHOLD MAX_SIZE_T
-
-/* Don't allocate more than a page unless needed.  */
-#define DEFAULT_GRANULARITY ((size_t)malloc_getpagesize)
-
-#if FFI_CLOSURE_TEST
-/* Don't release single pages, to avoid a worst-case scenario of
-   continuously allocating and releasing single pages, but release
-   pairs of pages, which should do just as well given that allocations
-   are likely to be small.  */
-#define DEFAULT_TRIM_THRESHOLD ((size_t)malloc_getpagesize)
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#ifndef _MSC_VER
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <stdio.h>
-#if !defined(X86_WIN32) && !defined(X86_WIN64)
-#ifdef HAVE_MNTENT
-#include <mntent.h>
-#endif /* HAVE_MNTENT */
-#include <sys/param.h>
-#include <pthread.h>
-
-/* We don't want sys/mman.h to be included after we redefine mmap and
-   dlmunmap.  */
-#include <sys/mman.h>
-#define LACKS_SYS_MMAN_H 1
-
-#if FFI_MMAP_EXEC_SELINUX
-#include <sys/statfs.h>
-#include <stdlib.h>
-
-static int selinux_enabled = -1;
-
-static int
-selinux_enabled_check (void)
-{
-  struct statfs sfs;
-  FILE *f;
-  char *buf = NULL;
-  size_t len = 0;
-
-  if (statfs ("/selinux", &sfs) >= 0
-      && (unsigned int) sfs.f_type == 0xf97cff8cU)
-    return 1;
-  f = fopen ("/proc/mounts", "r");
-  if (f == NULL)
-    return 0;
-  while (getline (&buf, &len, f) >= 0)
-    {
-      char *p = strchr (buf, ' ');
-      if (p == NULL)
-        break;
-      p = strchr (p + 1, ' ');
-      if (p == NULL)
-        break;
-      if (strncmp (p + 1, "selinuxfs ", 10) == 0)
-        {
-          free (buf);
-          fclose (f);
-          return 1;
-        }
-    }
-  free (buf);
-  fclose (f);
-  return 0;
-}
-
-#define is_selinux_enabled() (selinux_enabled >= 0 ? selinux_enabled \
-                             : (selinux_enabled = selinux_enabled_check ()))
-
-#else
-
-#define is_selinux_enabled() 0
-
-#endif /* !FFI_MMAP_EXEC_SELINUX */
-
-#elif defined (__CYGWIN__)
-
-#include <sys/mman.h>
-
-/* Cygwin is Linux-like, but not quite that Linux-like.  */
-#define is_selinux_enabled() 0
-
-#endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */
-
-/* Declare all functions defined in dlmalloc.c as static.  */
-static void *dlmalloc(size_t);
-static void dlfree(void*);
-static void *dlcalloc(size_t, size_t) MAYBE_UNUSED;
-static void *dlrealloc(void *, size_t) MAYBE_UNUSED;
-static void *dlmemalign(size_t, size_t) MAYBE_UNUSED;
-static void *dlvalloc(size_t) MAYBE_UNUSED;
-static int dlmallopt(int, int) MAYBE_UNUSED;
-static size_t dlmalloc_footprint(void) MAYBE_UNUSED;
-static size_t dlmalloc_max_footprint(void) MAYBE_UNUSED;
-static void** dlindependent_calloc(size_t, size_t, void**) MAYBE_UNUSED;
-static void** dlindependent_comalloc(size_t, size_t*, void**) MAYBE_UNUSED;
-static void *dlpvalloc(size_t) MAYBE_UNUSED;
-static int dlmalloc_trim(size_t) MAYBE_UNUSED;
-static size_t dlmalloc_usable_size(void*) MAYBE_UNUSED;
-static void dlmalloc_stats(void) MAYBE_UNUSED;
-
-#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX)
-/* Use these for mmap and munmap within dlmalloc.c.  */
-static void *dlmmap(void *, size_t, int, int, int, off_t);
-static int dlmunmap(void *, size_t);
-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX) */
-
-#define mmap dlmmap
-#define munmap dlmunmap
-
-#include "dlmalloc.c"
-
-#undef mmap
-#undef munmap
-
-#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX)
-
-/* A mutex used to synchronize access to *exec* variables in this file.  */
-static pthread_mutex_t open_temp_exec_file_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-/* A file descriptor of a temporary file from which we'll map
-   executable pages.  */
-static int execfd = -1;
-
-/* The amount of space already allocated from the temporary file.  */
-static size_t execsize = 0;
-
-/* Open a temporary file name, and immediately unlink it.  */
-static int
-open_temp_exec_file_name (char *name)
-{
-  int fd = mkstemp (name);
-
-  if (fd != -1)
-    unlink (name);
-
-  return fd;
-}
-
-/* Open a temporary file in the named directory.  */
-static int
-open_temp_exec_file_dir (const char *dir)
-{
-  static const char suffix[] = "/ffiXXXXXX";
-  int lendir = strlen (dir);
-  char *tempname = __builtin_alloca (lendir + sizeof (suffix));
-
-  if (!tempname)
-    return -1;
-
-  memcpy (tempname, dir, lendir);
-  memcpy (tempname + lendir, suffix, sizeof (suffix));
-
-  return open_temp_exec_file_name (tempname);
-}
-
-/* Open a temporary file in the directory in the named environment
-   variable.  */
-static int
-open_temp_exec_file_env (const char *envvar)
-{
-  const char *value = getenv (envvar);
-
-  if (!value)
-    return -1;
-
-  return open_temp_exec_file_dir (value);
-}
-
-#ifdef HAVE_MNTENT
-/* Open a temporary file in an executable and writable mount point
-   listed in the mounts file.  Subsequent calls with the same mounts
-   keep searching for mount points in the same file.  Providing NULL
-   as the mounts file closes the file.  */
-static int
-open_temp_exec_file_mnt (const char *mounts)
-{
-  static const char *last_mounts;
-  static FILE *last_mntent;
-
-  if (mounts != last_mounts)
-    {
-      if (last_mntent)
-       endmntent (last_mntent);
-
-      last_mounts = mounts;
-
-      if (mounts)
-       last_mntent = setmntent (mounts, "r");
-      else
-       last_mntent = NULL;
-    }
-
-  if (!last_mntent)
-    return -1;
-
-  for (;;)
-    {
-      int fd;
-      struct mntent mnt;
-      char buf[MAXPATHLEN * 3];
-
-      if (getmntent_r (last_mntent, &mnt, buf, sizeof (buf)) == NULL)
-       return -1;
-
-      if (hasmntopt (&mnt, "ro")
-         || hasmntopt (&mnt, "noexec")
-         || access (mnt.mnt_dir, W_OK))
-       continue;
-
-      fd = open_temp_exec_file_dir (mnt.mnt_dir);
-
-      if (fd != -1)
-       return fd;
-    }
-}
-#endif /* HAVE_MNTENT */
-
-/* Instructions to look for a location to hold a temporary file that
-   can be mapped in for execution.  */
-static struct
-{
-  int (*func)(const char *);
-  const char *arg;
-  int repeat;
-} open_temp_exec_file_opts[] = {
-  { open_temp_exec_file_env, "TMPDIR", 0 },
-  { open_temp_exec_file_dir, "/tmp", 0 },
-  { open_temp_exec_file_dir, "/var/tmp", 0 },
-  { open_temp_exec_file_dir, "/dev/shm", 0 },
-  { open_temp_exec_file_env, "HOME", 0 },
-#ifdef HAVE_MNTENT
-  { open_temp_exec_file_mnt, "/etc/mtab", 1 },
-  { open_temp_exec_file_mnt, "/proc/mounts", 1 },
-#endif /* HAVE_MNTENT */
-};
-
-/* Current index into open_temp_exec_file_opts.  */
-static int open_temp_exec_file_opts_idx = 0;
-
-/* Reset a current multi-call func, then advances to the next entry.
-   If we're at the last, go back to the first and return nonzero,
-   otherwise return zero.  */
-static int
-open_temp_exec_file_opts_next (void)
-{
-  if (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
-    open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func (NULL);
-
-  open_temp_exec_file_opts_idx++;
-  if (open_temp_exec_file_opts_idx
-      == (sizeof (open_temp_exec_file_opts)
-         / sizeof (*open_temp_exec_file_opts)))
-    {
-      open_temp_exec_file_opts_idx = 0;
-      return 1;
-    }
-
-  return 0;
-}
-
-/* Return a file descriptor of a temporary zero-sized file in a
-   writable and exexutable filesystem.  */
-static int
-open_temp_exec_file (void)
-{
-  int fd;
-
-  do
-    {
-      fd = open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func
-       (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].arg);
-
-      if (!open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat
-         || fd == -1)
-       {
-         if (open_temp_exec_file_opts_next ())
-           break;
-       }
-    }
-  while (fd == -1);
-
-  return fd;
-}
-
-/* Map in a chunk of memory from the temporary exec file into separate
-   locations in the virtual memory address space, one writable and one
-   executable.  Returns the address of the writable portion, after
-   storing an offset to the corresponding executable portion at the
-   last word of the requested chunk.  */
-static void *
-dlmmap_locked (void *start, size_t length, int prot, int flags, off_t offset)
-{
-  void *ptr;
-
-  if (execfd == -1)
-    {
-      open_temp_exec_file_opts_idx = 0;
-    retry_open:
-      execfd = open_temp_exec_file ();
-      if (execfd == -1)
-       return MFAIL;
-    }
-
-  offset = execsize;
-
-  if (ftruncate (execfd, offset + length))
-    return MFAIL;
-
-  flags &= ~(MAP_PRIVATE | MAP_ANONYMOUS);
-  flags |= MAP_SHARED;
-
-  ptr = mmap (NULL, length, (prot & ~PROT_WRITE) | PROT_EXEC,
-             flags, execfd, offset);
-  if (ptr == MFAIL)
-    {
-      if (!offset)
-       {
-         close (execfd);
-         goto retry_open;
-       }
-      ftruncate (execfd, offset);
-      return MFAIL;
-    }
-  else if (!offset
-          && open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
-    open_temp_exec_file_opts_next ();
-
-  start = mmap (start, length, prot, flags, execfd, offset);
-
-  if (start == MFAIL)
-    {
-      munmap (ptr, length);
-      ftruncate (execfd, offset);
-      return start;
-    }
-
-  mmap_exec_offset ((char *)start, length) = (char*)ptr - (char*)start;
-
-  execsize += length;
-
-  return start;
-}
-
-/* Map in a writable and executable chunk of memory if possible.
-   Failing that, fall back to dlmmap_locked.  */
-static void *
-dlmmap (void *start, size_t length, int prot,
-       int flags, int fd, off_t offset)
-{
-  void *ptr;
-
-  assert (start == NULL && length % malloc_getpagesize == 0
-         && prot == (PROT_READ | PROT_WRITE)
-         && flags == (MAP_PRIVATE | MAP_ANONYMOUS)
-         && fd == -1 && offset == 0);
-
-#if FFI_CLOSURE_TEST
-  printf ("mapping in %zi\n", length);
-#endif
-
-  if (execfd == -1 && !is_selinux_enabled ())
-    {
-      ptr = mmap (start, length, prot | PROT_EXEC, flags, fd, offset);
-
-      if (ptr != MFAIL || (errno != EPERM && errno != EACCES))
-       /* Cool, no need to mess with separate segments.  */
-       return ptr;
-
-      /* If MREMAP_DUP is ever introduced and implemented, try mmap
-        with ((prot & ~PROT_WRITE) | PROT_EXEC) and mremap with
-        MREMAP_DUP and prot at this point.  */
-    }
-
-  if (execsize == 0 || execfd == -1)
-    {
-      pthread_mutex_lock (&open_temp_exec_file_mutex);
-      ptr = dlmmap_locked (start, length, prot, flags, offset);
-      pthread_mutex_unlock (&open_temp_exec_file_mutex);
-
-      return ptr;
-    }
-
-  return dlmmap_locked (start, length, prot, flags, offset);
-}
-
-/* Release memory at the given address, as well as the corresponding
-   executable page if it's separate.  */
-static int
-dlmunmap (void *start, size_t length)
-{
-  /* We don't bother decreasing execsize or truncating the file, since
-     we can't quite tell whether we're unmapping the end of the file.
-     We don't expect frequent deallocation anyway.  If we did, we
-     could locate pages in the file by writing to the pages being
-     deallocated and checking that the file contents change.
-     Yuck.  */
-  msegmentptr seg = segment_holding (gm, start);
-  void *code;
-
-#if FFI_CLOSURE_TEST
-  printf ("unmapping %zi\n", length);
-#endif
-
-  if (seg && (code = add_segment_exec_offset (start, seg)) != start)
-    {
-      int ret = munmap (code, length);
-      if (ret)
-       return ret;
-    }
-
-  return munmap (start, length);
-}
-
-#if FFI_CLOSURE_FREE_CODE
-/* Return segment holding given code address.  */
-static msegmentptr
-segment_holding_code (mstate m, char* addr)
-{
-  msegmentptr sp = &m->seg;
-  for (;;) {
-    if (addr >= add_segment_exec_offset (sp->base, sp)
-       && addr < add_segment_exec_offset (sp->base, sp) + sp->size)
-      return sp;
-    if ((sp = sp->next) == 0)
-      return 0;
-  }
-}
-#endif
-
-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX) */
-
-/* Allocate a chunk of memory with the given size.  Returns a pointer
-   to the writable address, and sets *CODE to the executable
-   corresponding virtual address.  */
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
-  void *ptr;
-
-  if (!code)
-    return NULL;
-
-  ptr = dlmalloc (size);
-
-  if (ptr)
-    {
-      msegmentptr seg = segment_holding (gm, ptr);
-
-      *code = add_segment_exec_offset (ptr, seg);
-    }
-
-  return ptr;
-}
-
-/* Release a chunk of memory allocated with ffi_closure_alloc.  If
-   FFI_CLOSURE_FREE_CODE is nonzero, the given address can be the
-   writable or the executable address given.  Otherwise, only the
-   writable address can be provided here.  */
-void
-ffi_closure_free (void *ptr)
-{
-#if FFI_CLOSURE_FREE_CODE
-  msegmentptr seg = segment_holding_code (gm, ptr);
-
-  if (seg)
-    ptr = sub_segment_exec_offset (ptr, seg);
-#endif
-
-  dlfree (ptr);
-}
-
-
-#if FFI_CLOSURE_TEST
-/* Do some internal sanity testing to make sure allocation and
-   deallocation of pages are working as intended.  */
-int main ()
-{
-  void *p[3];
-#define GET(idx, len) do { p[idx] = dlmalloc (len); printf ("allocated %zi for p[%i]\n", (len), (idx)); } while (0)
-#define PUT(idx) do { printf ("freeing p[%i]\n", (idx)); dlfree (p[idx]); } while (0)
-  GET (0, malloc_getpagesize / 2);
-  GET (1, 2 * malloc_getpagesize - 64 * sizeof (void*));
-  PUT (1);
-  GET (1, 2 * malloc_getpagesize);
-  GET (2, malloc_getpagesize / 2);
-  PUT (1);
-  PUT (0);
-  PUT (2);
-  return 0;
-}
-#endif /* FFI_CLOSURE_TEST */
-# else /* ! FFI_MMAP_EXEC_WRIT */
-
-/* On many systems, memory returned by malloc is writable and
-   executable, so just use it.  */
-
-#include <stdlib.h>
-
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
-  if (!code)
-    return NULL;
-
-  return *code = malloc (size);
-}
-
-void
-ffi_closure_free (void *ptr)
-{
-  free (ptr);
-}
-
-# endif /* ! FFI_MMAP_EXEC_WRIT */
-#endif /* FFI_CLOSURES */
diff --git a/.pc/interix/.timestamp b/.pc/interix/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/interix/ChangeLog b/.pc/interix/ChangeLog
deleted file mode 100644 (file)
index 2073829..0000000
+++ /dev/null
@@ -1,4613 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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@macports.org>
-
-       * 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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/interix/configure b/.pc/interix/configure
deleted file mode 100755 (executable)
index 6bc08a9..0000000
+++ /dev/null
@@ -1,16030 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/libffi]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer
-  --enable-debug          debugging mode
-  --disable-structs       omit code for struct support
-  --disable-raw-api       make the raw api unavailable
-  --enable-purify-safety  purify-safe mode
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CCAS        assembler compiler command (defaults to CC)
-  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if test "$cross_compiling" = yes; then
-    # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid; break
-else
-  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
-                       if test $ac_lo -le $ac_mid; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=$ac_mid; break
-else
-  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid
-else
-  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (($2) < 0)
-    {
-      long int i = longval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
-  ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
-  fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CCAS_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CCAS_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
-  am__fastdepCCAS_TRUE=
-  am__fastdepCCAS_FALSE='#'
-else
-  am__fastdepCCAS_TRUE='#'
-  am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
-   if test "$GCC" = yes; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
-           ;;
-         ppc64-*linux*|powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         ppc*-*linux*|powerpc*-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
-        enable_dlopen=no
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl='-Wl,-Wl,,'
-       lt_prog_compiler_pic='-PIC'
-       lt_prog_compiler_static='-Bstatic'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ F* | *Sun*Fortran*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec=
-         hardcode_libdir_flag_spec_ld='-rpath $libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       always_export_symbols=yes
-       file_list_spec='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-       enable_shared_with_static_runtimes=yes
-       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds='chmod 644 $oldlib'
-       postlink_cmds='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_flag_spec_ld='+b $libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-       fi
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec="$LIB"
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
-else
-  libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
-else
-  ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
-       ac_cv_func_mmap_anon=no ;;
-     *)
-       ac_cv_func_mmap_anon=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
-   fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
-  TESTSUBDIR_TRUE=
-  TESTSUBDIR_FALSE='#'
-else
-  TESTSUBDIR_TRUE='#'
-  TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[0-9]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
- powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[34]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
-  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
-  MIPS_TRUE=
-  MIPS_FALSE='#'
-else
-  MIPS_TRUE='#'
-  MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
-  SPARC_TRUE=
-  SPARC_FALSE='#'
-else
-  SPARC_TRUE='#'
-  SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
-  X86_TRUE=
-  X86_FALSE='#'
-else
-  X86_TRUE='#'
-  X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
-  X86_FREEBSD_TRUE=
-  X86_FREEBSD_FALSE='#'
-else
-  X86_FREEBSD_TRUE='#'
-  X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
-  X86_WIN32_TRUE=
-  X86_WIN32_FALSE='#'
-else
-  X86_WIN32_TRUE='#'
-  X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
-  X86_WIN64_TRUE=
-  X86_WIN64_FALSE='#'
-else
-  X86_WIN64_TRUE='#'
-  X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
-  X86_DARWIN_TRUE=
-  X86_DARWIN_FALSE='#'
-else
-  X86_DARWIN_TRUE='#'
-  X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
-  ALPHA_TRUE=
-  ALPHA_FALSE='#'
-else
-  ALPHA_TRUE='#'
-  ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
-  IA64_TRUE=
-  IA64_FALSE='#'
-else
-  IA64_TRUE='#'
-  IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
-  M32R_TRUE=
-  M32R_FALSE='#'
-else
-  M32R_TRUE='#'
-  M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
-  M68K_TRUE=
-  M68K_FALSE='#'
-else
-  M68K_TRUE='#'
-  M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
-  MOXIE_TRUE=
-  MOXIE_FALSE='#'
-else
-  MOXIE_TRUE='#'
-  MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
-  POWERPC_TRUE=
-  POWERPC_FALSE='#'
-else
-  POWERPC_TRUE='#'
-  POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
-  POWERPC_AIX_TRUE=
-  POWERPC_AIX_FALSE='#'
-else
-  POWERPC_AIX_TRUE='#'
-  POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
-  POWERPC_DARWIN_TRUE=
-  POWERPC_DARWIN_FALSE='#'
-else
-  POWERPC_DARWIN_TRUE='#'
-  POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
-  POWERPC_FREEBSD_TRUE=
-  POWERPC_FREEBSD_FALSE='#'
-else
-  POWERPC_FREEBSD_TRUE='#'
-  POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
-  ARM_TRUE=
-  ARM_FALSE='#'
-else
-  ARM_TRUE='#'
-  ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
-  AVR32_TRUE=
-  AVR32_FALSE='#'
-else
-  AVR32_TRUE='#'
-  AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
-  LIBFFI_CRIS_TRUE=
-  LIBFFI_CRIS_FALSE='#'
-else
-  LIBFFI_CRIS_TRUE='#'
-  LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
-  FRV_TRUE=
-  FRV_FALSE='#'
-else
-  FRV_TRUE='#'
-  FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
-  S390_TRUE=
-  S390_FALSE='#'
-else
-  S390_TRUE='#'
-  S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
-  X86_64_TRUE=
-  X86_64_FALSE='#'
-else
-  X86_64_TRUE='#'
-  X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
-  SH_TRUE=
-  SH_FALSE='#'
-else
-  SH_TRUE='#'
-  SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
-  SH64_TRUE=
-  SH64_FALSE='#'
-else
-  SH64_TRUE='#'
-  SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
-  PA_LINUX_TRUE=
-  PA_LINUX_FALSE='#'
-else
-  PA_LINUX_TRUE='#'
-  PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
-  PA_HPUX_TRUE=
-  PA_HPUX_FALSE='#'
-else
-  PA_HPUX_TRUE='#'
-  PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
-  PA64_HPUX_TRUE=
-  PA64_HPUX_FALSE='#'
-else
-  PA64_HPUX_TRUE='#'
-  PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
-  ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
-                                   if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
-    break
-fi
-
-  done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_long_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
-    fi
-  fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    gcc_cv_as_cfi_pseudo_op=unknown
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gcc_cv_as_cfi_pseudo_op=yes
-else
-  gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  libffi_cv_as_sparc_ua_pcrel=yes
-else
-  libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_register_pseudo_op=yes
-else
-  libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_ascii_pseudo_op=yes
-else
-  libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_string_pseudo_op=yes
-else
-  libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sys_symbol_underscore=no
-  cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    ac_nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$ac_nlist"; then
-      # See whether the symbols have a leading underscore.
-      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
-        lt_cv_sys_symbol_underscore=yes
-      else
-        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
-         :
-        else
-         echo "configure: cannot find nm_test_func in $ac_nlist" >&5
-        fi
-      fi
-    else
-      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "configure: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
-  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
-    if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
-    fi
-fi
-
-case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
-     ;;
-esac
-
-if test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-  else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-  fi
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
-  enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
-  fi
-fi
-
- if test "$enable_debug" = "yes"; then
-  FFI_DEBUG_TRUE=
-  FFI_DEBUG_FALSE='#'
-else
-  FFI_DEBUG_TRUE='#'
-  FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
-  enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
-  enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
-  enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
-  fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
-  as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
-  as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
-  as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
-  as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
-  as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
-  as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
-  as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
-  as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
-  as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
-  as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
-  as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
-  as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
-  as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
-  as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
-  as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
-  as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
-  as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
-    "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
-    "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
-    "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
-    "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
-    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
-    "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS  :L $CONFIG_LINKS  :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-  :L)
-  #
-  # CONFIG_LINK
-  #
-
-  if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
-    :
-  else
-    # Prefer the file from the source tree if names are identical.
-    if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
-      ac_source=$srcdir/$ac_source
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
-    if test ! -r "$ac_source"; then
-      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
-    fi
-    rm -f "$ac_file"
-
-    # Try a relative symlink, then a hard link, then a copy.
-    case $ac_source in
-    [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
-       *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
-    esac
-    ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
-      ln "$ac_source" "$ac_file" 2>/dev/null ||
-      cp -p "$ac_source" "$ac_file" ||
-      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
-  fi
- ;;
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-    "include":C) test -d include || mkdir include ;;
-    "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/interix/configure.ac b/.pc/interix/configure.ac
deleted file mode 100644 (file)
index d926ee3..0000000
+++ /dev/null
@@ -1,491 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
- powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    LT_SYS_SYMBOL_USCORE
-    if test "x$sys_symbol_underscore" = xyes; then
-        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-    fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
-     *arm*-apple-darwin*)
-       FFI_EXEC_TRAMPOLINE_TABLE=1
-       AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
-                 [Cannot use PROT_EXEC on this target, so, we revert to
-                   alternative means])
-     ;;
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-      libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-      AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-      AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  else
-      AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  fi
-
-  AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-      libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-      AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-  fi
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/interix/src/closures.c b/.pc/interix/src/closures.c
deleted file mode 100644 (file)
index 39067ac..0000000
+++ /dev/null
@@ -1,615 +0,0 @@
-/* -----------------------------------------------------------------------
-   closures.c - Copyright (c) 2007, 2009, 2010  Red Hat, Inc.
-                Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc
-                Copyright (c) 2011 Plausible Labs Cooperative, Inc.
-
-   Code to allocate and deallocate memory for closures.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#if defined __linux__ && !defined _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#if !FFI_MMAP_EXEC_WRIT && !FFI_EXEC_TRAMPOLINE_TABLE
-# if __gnu_linux__
-/* This macro indicates it may be forbidden to map anonymous memory
-   with both write and execute permission.  Code compiled when this
-   option is defined will attempt to map such pages once, but if it
-   fails, it falls back to creating a temporary file in a writable and
-   executable filesystem and mapping pages from it into separate
-   locations in the virtual memory space, one location writable and
-   another executable.  */
-#  define FFI_MMAP_EXEC_WRIT 1
-#  define HAVE_MNTENT 1
-# endif
-# if defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)
-/* Windows systems may have Data Execution Protection (DEP) enabled, 
-   which requires the use of VirtualMalloc/VirtualFree to alloc/free
-   executable memory. */
-#  define FFI_MMAP_EXEC_WRIT 1
-# endif
-#endif
-
-#if FFI_MMAP_EXEC_WRIT && !defined FFI_MMAP_EXEC_SELINUX
-# ifdef __linux__
-/* When defined to 1 check for SELinux and if SELinux is active,
-   don't attempt PROT_EXEC|PROT_WRITE mapping at all, as that
-   might cause audit messages.  */
-#  define FFI_MMAP_EXEC_SELINUX 1
-# endif
-#endif
-
-#if FFI_CLOSURES
-
-# if FFI_EXEC_TRAMPOLINE_TABLE
-
-// Per-target implementation; It's unclear what can reasonable be shared between two OS/architecture implementations.
-
-# elif FFI_MMAP_EXEC_WRIT /* !FFI_EXEC_TRAMPOLINE_TABLE */
-
-#define USE_LOCKS 1
-#define USE_DL_PREFIX 1
-#ifdef __GNUC__
-#ifndef USE_BUILTIN_FFS
-#define USE_BUILTIN_FFS 1
-#endif
-#endif
-
-/* We need to use mmap, not sbrk.  */
-#define HAVE_MORECORE 0
-
-/* We could, in theory, support mremap, but it wouldn't buy us anything.  */
-#define HAVE_MREMAP 0
-
-/* We have no use for this, so save some code and data.  */
-#define NO_MALLINFO 1
-
-/* We need all allocations to be in regular segments, otherwise we
-   lose track of the corresponding code address.  */
-#define DEFAULT_MMAP_THRESHOLD MAX_SIZE_T
-
-/* Don't allocate more than a page unless needed.  */
-#define DEFAULT_GRANULARITY ((size_t)malloc_getpagesize)
-
-#if FFI_CLOSURE_TEST
-/* Don't release single pages, to avoid a worst-case scenario of
-   continuously allocating and releasing single pages, but release
-   pairs of pages, which should do just as well given that allocations
-   are likely to be small.  */
-#define DEFAULT_TRIM_THRESHOLD ((size_t)malloc_getpagesize)
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#ifndef _MSC_VER
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <stdio.h>
-#if !defined(X86_WIN32) && !defined(X86_WIN64)
-#ifdef HAVE_MNTENT
-#include <mntent.h>
-#endif /* HAVE_MNTENT */
-#include <sys/param.h>
-#include <pthread.h>
-
-/* We don't want sys/mman.h to be included after we redefine mmap and
-   dlmunmap.  */
-#include <sys/mman.h>
-#define LACKS_SYS_MMAN_H 1
-
-#if FFI_MMAP_EXEC_SELINUX
-#include <sys/statfs.h>
-#include <stdlib.h>
-
-static int selinux_enabled = -1;
-
-static int
-selinux_enabled_check (void)
-{
-  struct statfs sfs;
-  FILE *f;
-  char *buf = NULL;
-  size_t len = 0;
-
-  if (statfs ("/selinux", &sfs) >= 0
-      && (unsigned int) sfs.f_type == 0xf97cff8cU)
-    return 1;
-  f = fopen ("/proc/mounts", "r");
-  if (f == NULL)
-    return 0;
-  while (getline (&buf, &len, f) >= 0)
-    {
-      char *p = strchr (buf, ' ');
-      if (p == NULL)
-        break;
-      p = strchr (p + 1, ' ');
-      if (p == NULL)
-        break;
-      if (strncmp (p + 1, "selinuxfs ", 10) == 0)
-        {
-          free (buf);
-          fclose (f);
-          return 1;
-        }
-    }
-  free (buf);
-  fclose (f);
-  return 0;
-}
-
-#define is_selinux_enabled() (selinux_enabled >= 0 ? selinux_enabled \
-                             : (selinux_enabled = selinux_enabled_check ()))
-
-#else
-
-#define is_selinux_enabled() 0
-
-#endif /* !FFI_MMAP_EXEC_SELINUX */
-
-#elif defined (__CYGWIN__)
-
-#include <sys/mman.h>
-
-/* Cygwin is Linux-like, but not quite that Linux-like.  */
-#define is_selinux_enabled() 0
-
-#endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */
-
-/* Declare all functions defined in dlmalloc.c as static.  */
-static void *dlmalloc(size_t);
-static void dlfree(void*);
-static void *dlcalloc(size_t, size_t) MAYBE_UNUSED;
-static void *dlrealloc(void *, size_t) MAYBE_UNUSED;
-static void *dlmemalign(size_t, size_t) MAYBE_UNUSED;
-static void *dlvalloc(size_t) MAYBE_UNUSED;
-static int dlmallopt(int, int) MAYBE_UNUSED;
-static size_t dlmalloc_footprint(void) MAYBE_UNUSED;
-static size_t dlmalloc_max_footprint(void) MAYBE_UNUSED;
-static void** dlindependent_calloc(size_t, size_t, void**) MAYBE_UNUSED;
-static void** dlindependent_comalloc(size_t, size_t*, void**) MAYBE_UNUSED;
-static void *dlpvalloc(size_t) MAYBE_UNUSED;
-static int dlmalloc_trim(size_t) MAYBE_UNUSED;
-static size_t dlmalloc_usable_size(void*) MAYBE_UNUSED;
-static void dlmalloc_stats(void) MAYBE_UNUSED;
-
-#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__)
-/* Use these for mmap and munmap within dlmalloc.c.  */
-static void *dlmmap(void *, size_t, int, int, int, off_t);
-static int dlmunmap(void *, size_t);
-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) */
-
-#define mmap dlmmap
-#define munmap dlmunmap
-
-#include "dlmalloc.c"
-
-#undef mmap
-#undef munmap
-
-#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__)
-
-/* A mutex used to synchronize access to *exec* variables in this file.  */
-static pthread_mutex_t open_temp_exec_file_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-/* A file descriptor of a temporary file from which we'll map
-   executable pages.  */
-static int execfd = -1;
-
-/* The amount of space already allocated from the temporary file.  */
-static size_t execsize = 0;
-
-/* Open a temporary file name, and immediately unlink it.  */
-static int
-open_temp_exec_file_name (char *name)
-{
-  int fd = mkstemp (name);
-
-  if (fd != -1)
-    unlink (name);
-
-  return fd;
-}
-
-/* Open a temporary file in the named directory.  */
-static int
-open_temp_exec_file_dir (const char *dir)
-{
-  static const char suffix[] = "/ffiXXXXXX";
-  int lendir = strlen (dir);
-  char *tempname = __builtin_alloca (lendir + sizeof (suffix));
-
-  if (!tempname)
-    return -1;
-
-  memcpy (tempname, dir, lendir);
-  memcpy (tempname + lendir, suffix, sizeof (suffix));
-
-  return open_temp_exec_file_name (tempname);
-}
-
-/* Open a temporary file in the directory in the named environment
-   variable.  */
-static int
-open_temp_exec_file_env (const char *envvar)
-{
-  const char *value = getenv (envvar);
-
-  if (!value)
-    return -1;
-
-  return open_temp_exec_file_dir (value);
-}
-
-#ifdef HAVE_MNTENT
-/* Open a temporary file in an executable and writable mount point
-   listed in the mounts file.  Subsequent calls with the same mounts
-   keep searching for mount points in the same file.  Providing NULL
-   as the mounts file closes the file.  */
-static int
-open_temp_exec_file_mnt (const char *mounts)
-{
-  static const char *last_mounts;
-  static FILE *last_mntent;
-
-  if (mounts != last_mounts)
-    {
-      if (last_mntent)
-       endmntent (last_mntent);
-
-      last_mounts = mounts;
-
-      if (mounts)
-       last_mntent = setmntent (mounts, "r");
-      else
-       last_mntent = NULL;
-    }
-
-  if (!last_mntent)
-    return -1;
-
-  for (;;)
-    {
-      int fd;
-      struct mntent mnt;
-      char buf[MAXPATHLEN * 3];
-
-      if (getmntent_r (last_mntent, &mnt, buf, sizeof (buf)) == NULL)
-       return -1;
-
-      if (hasmntopt (&mnt, "ro")
-         || hasmntopt (&mnt, "noexec")
-         || access (mnt.mnt_dir, W_OK))
-       continue;
-
-      fd = open_temp_exec_file_dir (mnt.mnt_dir);
-
-      if (fd != -1)
-       return fd;
-    }
-}
-#endif /* HAVE_MNTENT */
-
-/* Instructions to look for a location to hold a temporary file that
-   can be mapped in for execution.  */
-static struct
-{
-  int (*func)(const char *);
-  const char *arg;
-  int repeat;
-} open_temp_exec_file_opts[] = {
-  { open_temp_exec_file_env, "TMPDIR", 0 },
-  { open_temp_exec_file_dir, "/tmp", 0 },
-  { open_temp_exec_file_dir, "/var/tmp", 0 },
-  { open_temp_exec_file_dir, "/dev/shm", 0 },
-  { open_temp_exec_file_env, "HOME", 0 },
-#ifdef HAVE_MNTENT
-  { open_temp_exec_file_mnt, "/etc/mtab", 1 },
-  { open_temp_exec_file_mnt, "/proc/mounts", 1 },
-#endif /* HAVE_MNTENT */
-};
-
-/* Current index into open_temp_exec_file_opts.  */
-static int open_temp_exec_file_opts_idx = 0;
-
-/* Reset a current multi-call func, then advances to the next entry.
-   If we're at the last, go back to the first and return nonzero,
-   otherwise return zero.  */
-static int
-open_temp_exec_file_opts_next (void)
-{
-  if (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
-    open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func (NULL);
-
-  open_temp_exec_file_opts_idx++;
-  if (open_temp_exec_file_opts_idx
-      == (sizeof (open_temp_exec_file_opts)
-         / sizeof (*open_temp_exec_file_opts)))
-    {
-      open_temp_exec_file_opts_idx = 0;
-      return 1;
-    }
-
-  return 0;
-}
-
-/* Return a file descriptor of a temporary zero-sized file in a
-   writable and exexutable filesystem.  */
-static int
-open_temp_exec_file (void)
-{
-  int fd;
-
-  do
-    {
-      fd = open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func
-       (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].arg);
-
-      if (!open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat
-         || fd == -1)
-       {
-         if (open_temp_exec_file_opts_next ())
-           break;
-       }
-    }
-  while (fd == -1);
-
-  return fd;
-}
-
-/* Map in a chunk of memory from the temporary exec file into separate
-   locations in the virtual memory address space, one writable and one
-   executable.  Returns the address of the writable portion, after
-   storing an offset to the corresponding executable portion at the
-   last word of the requested chunk.  */
-static void *
-dlmmap_locked (void *start, size_t length, int prot, int flags, off_t offset)
-{
-  void *ptr;
-
-  if (execfd == -1)
-    {
-      open_temp_exec_file_opts_idx = 0;
-    retry_open:
-      execfd = open_temp_exec_file ();
-      if (execfd == -1)
-       return MFAIL;
-    }
-
-  offset = execsize;
-
-  if (ftruncate (execfd, offset + length))
-    return MFAIL;
-
-  flags &= ~(MAP_PRIVATE | MAP_ANONYMOUS);
-  flags |= MAP_SHARED;
-
-  ptr = mmap (NULL, length, (prot & ~PROT_WRITE) | PROT_EXEC,
-             flags, execfd, offset);
-  if (ptr == MFAIL)
-    {
-      if (!offset)
-       {
-         close (execfd);
-         goto retry_open;
-       }
-      ftruncate (execfd, offset);
-      return MFAIL;
-    }
-  else if (!offset
-          && open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
-    open_temp_exec_file_opts_next ();
-
-  start = mmap (start, length, prot, flags, execfd, offset);
-
-  if (start == MFAIL)
-    {
-      munmap (ptr, length);
-      ftruncate (execfd, offset);
-      return start;
-    }
-
-  mmap_exec_offset ((char *)start, length) = (char*)ptr - (char*)start;
-
-  execsize += length;
-
-  return start;
-}
-
-/* Map in a writable and executable chunk of memory if possible.
-   Failing that, fall back to dlmmap_locked.  */
-static void *
-dlmmap (void *start, size_t length, int prot,
-       int flags, int fd, off_t offset)
-{
-  void *ptr;
-
-  assert (start == NULL && length % malloc_getpagesize == 0
-         && prot == (PROT_READ | PROT_WRITE)
-         && flags == (MAP_PRIVATE | MAP_ANONYMOUS)
-         && fd == -1 && offset == 0);
-
-#if FFI_CLOSURE_TEST
-  printf ("mapping in %zi\n", length);
-#endif
-
-  if (execfd == -1 && !is_selinux_enabled ())
-    {
-      ptr = mmap (start, length, prot | PROT_EXEC, flags, fd, offset);
-
-      if (ptr != MFAIL || (errno != EPERM && errno != EACCES))
-       /* Cool, no need to mess with separate segments.  */
-       return ptr;
-
-      /* If MREMAP_DUP is ever introduced and implemented, try mmap
-        with ((prot & ~PROT_WRITE) | PROT_EXEC) and mremap with
-        MREMAP_DUP and prot at this point.  */
-    }
-
-  if (execsize == 0 || execfd == -1)
-    {
-      pthread_mutex_lock (&open_temp_exec_file_mutex);
-      ptr = dlmmap_locked (start, length, prot, flags, offset);
-      pthread_mutex_unlock (&open_temp_exec_file_mutex);
-
-      return ptr;
-    }
-
-  return dlmmap_locked (start, length, prot, flags, offset);
-}
-
-/* Release memory at the given address, as well as the corresponding
-   executable page if it's separate.  */
-static int
-dlmunmap (void *start, size_t length)
-{
-  /* We don't bother decreasing execsize or truncating the file, since
-     we can't quite tell whether we're unmapping the end of the file.
-     We don't expect frequent deallocation anyway.  If we did, we
-     could locate pages in the file by writing to the pages being
-     deallocated and checking that the file contents change.
-     Yuck.  */
-  msegmentptr seg = segment_holding (gm, start);
-  void *code;
-
-#if FFI_CLOSURE_TEST
-  printf ("unmapping %zi\n", length);
-#endif
-
-  if (seg && (code = add_segment_exec_offset (start, seg)) != start)
-    {
-      int ret = munmap (code, length);
-      if (ret)
-       return ret;
-    }
-
-  return munmap (start, length);
-}
-
-#if FFI_CLOSURE_FREE_CODE
-/* Return segment holding given code address.  */
-static msegmentptr
-segment_holding_code (mstate m, char* addr)
-{
-  msegmentptr sp = &m->seg;
-  for (;;) {
-    if (addr >= add_segment_exec_offset (sp->base, sp)
-       && addr < add_segment_exec_offset (sp->base, sp) + sp->size)
-      return sp;
-    if ((sp = sp->next) == 0)
-      return 0;
-  }
-}
-#endif
-
-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) */
-
-/* Allocate a chunk of memory with the given size.  Returns a pointer
-   to the writable address, and sets *CODE to the executable
-   corresponding virtual address.  */
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
-  void *ptr;
-
-  if (!code)
-    return NULL;
-
-  ptr = dlmalloc (size);
-
-  if (ptr)
-    {
-      msegmentptr seg = segment_holding (gm, ptr);
-
-      *code = add_segment_exec_offset (ptr, seg);
-    }
-
-  return ptr;
-}
-
-/* Release a chunk of memory allocated with ffi_closure_alloc.  If
-   FFI_CLOSURE_FREE_CODE is nonzero, the given address can be the
-   writable or the executable address given.  Otherwise, only the
-   writable address can be provided here.  */
-void
-ffi_closure_free (void *ptr)
-{
-#if FFI_CLOSURE_FREE_CODE
-  msegmentptr seg = segment_holding_code (gm, ptr);
-
-  if (seg)
-    ptr = sub_segment_exec_offset (ptr, seg);
-#endif
-
-  dlfree (ptr);
-}
-
-
-#if FFI_CLOSURE_TEST
-/* Do some internal sanity testing to make sure allocation and
-   deallocation of pages are working as intended.  */
-int main ()
-{
-  void *p[3];
-#define GET(idx, len) do { p[idx] = dlmalloc (len); printf ("allocated %zi for p[%i]\n", (len), (idx)); } while (0)
-#define PUT(idx) do { printf ("freeing p[%i]\n", (idx)); dlfree (p[idx]); } while (0)
-  GET (0, malloc_getpagesize / 2);
-  GET (1, 2 * malloc_getpagesize - 64 * sizeof (void*));
-  PUT (1);
-  GET (1, 2 * malloc_getpagesize);
-  GET (2, malloc_getpagesize / 2);
-  PUT (1);
-  PUT (0);
-  PUT (2);
-  return 0;
-}
-#endif /* FFI_CLOSURE_TEST */
-# else /* ! FFI_MMAP_EXEC_WRIT */
-
-/* On many systems, memory returned by malloc is writable and
-   executable, so just use it.  */
-
-#include <stdlib.h>
-
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
-  if (!code)
-    return NULL;
-
-  return *code = malloc (size);
-}
-
-void
-ffi_closure_free (void *ptr)
-{
-  free (ptr);
-}
-
-# endif /* ! FFI_MMAP_EXEC_WRIT */
-#endif /* FFI_CLOSURES */
diff --git a/.pc/ios-fixes/.timestamp b/.pc/ios-fixes/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/ios-fixes/ChangeLog b/.pc/ios-fixes/ChangeLog
deleted file mode 100644 (file)
index ae63b53..0000000
+++ /dev/null
@@ -1,4641 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2011-02-11  Anthony Green  <green@moxielogic.com>
-
-       * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
-       just return FFI_BAD_ABI when things are wrong.
-
-2011-02-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@macports.org>
-
-       * 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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/ios-fixes/build-ios.sh b/.pc/ios-fixes/build-ios.sh
deleted file mode 100755 (executable)
index d9010af..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-PLATFORM_IOS=/Developer/Platforms/iPhoneOS.platform/
-PLATFORM_IOS_SIM=/Developer/Platforms/iPhoneSimulator.platform/
-SDK_IOS_VERSION="4.1"
-
-mkdir -p "build-ios"
-pushd "build-ios"
-export CC="${PLATFORM_IOS}"/Developer/usr/bin/gcc-4.2
-export CFLAGS="-arch armv6 -isysroot ${PLATFORM_IOS}/Developer/SDKs/iPhoneOS${SDK_IOS_VERSION}.sdk/"
-../configure --host=arm-apple-darwin10 && make
-popd
diff --git a/.pc/ios/.timestamp b/.pc/ios/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/ios/ChangeLog b/.pc/ios/ChangeLog
deleted file mode 100644 (file)
index 14b2029..0000000
+++ /dev/null
@@ -1,4584 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/ios/Makefile.am b/.pc/ios/Makefile.am
deleted file mode 100644 (file)
index 9a3ccf6..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-## Process this with automake to create Makefile.in
-
-AUTOMAKE_OPTIONS = foreign subdir-objects
-
-SUBDIRS = include testsuite man
-
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
-       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
-       src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
-       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
-       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
-       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
-       src/ia64/unix.S \
-       src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
-       src/mips/ffitarget.h \
-       src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
-       src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
-       src/powerpc/ffi.c src/powerpc/sysv.S \
-       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
-       src/powerpc/ppc_closure.S src/powerpc/asm.h \
-       src/powerpc/aix.S src/powerpc/darwin.S \
-       src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
-       src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
-       src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
-       src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
-       src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
-       src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
-       src/sparc/ffi.c src/x86/darwin64.S \
-       src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
-       src/x86/win64.S src/x86/freebsd.S \
-       src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
-       src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
-       src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h \
-       src/dlmalloc.c \
-       src/moxie/ffi.c src/moxie/eabi.S \
-       libtool-version ChangeLog.libffi m4/libtool.m4 \
-       m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
-
-info_TEXINFOS = doc/libffi.texi
-
-## ################################################################
-
-##
-## This section is for make and multilib madness.
-##
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
-       "AR_FLAGS=$(AR_FLAGS)" \
-       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
-       "CFLAGS=$(CFLAGS)" \
-       "CXXFLAGS=$(CXXFLAGS)" \
-       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
-       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
-       "INSTALL=$(INSTALL)" \
-       "INSTALL_DATA=$(INSTALL_DATA)" \
-       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
-       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
-       "JC1FLAGS=$(JC1FLAGS)" \
-       "LDFLAGS=$(LDFLAGS)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
-       "MAKE=$(MAKE)" \
-       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
-       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-       "SHELL=$(SHELL)" \
-       "exec_prefix=$(exec_prefix)" \
-       "infodir=$(infodir)" \
-       "libdir=$(libdir)" \
-       "mandir=$(mandir)" \
-       "prefix=$(prefix)" \
-       "AR=$(AR)" \
-       "AS=$(AS)" \
-       "CC=$(CC)" \
-       "CXX=$(CXX)" \
-       "LD=$(LD)" \
-       "NM=$(NM)" \
-       "RANLIB=$(RANLIB)" \
-       "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES=
-
-ACLOCAL_AMFLAGS=$(ACLOCAL_AMFLAGS) -I m4
-
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
-               src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-
-nodist_libffi_la_SOURCES =
-
-if MIPS
-nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-endif
-if X86
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S
-endif
-if X86_FREEBSD
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/freebsd.S
-endif
-if X86_WIN32
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win32.S
-endif
-if X86_WIN64
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win64.S
-endif
-if X86_DARWIN
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-endif
-if SPARC
-nodist_libffi_la_SOURCES += src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-endif
-if ALPHA
-nodist_libffi_la_SOURCES += src/alpha/ffi.c src/alpha/osf.S
-endif
-if IA64
-nodist_libffi_la_SOURCES += src/ia64/ffi.c src/ia64/unix.S
-endif
-if M32R
-nodist_libffi_la_SOURCES += src/m32r/sysv.S src/m32r/ffi.c
-endif
-if M68K
-nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
-endif
-if POWERPC
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-endif
-if POWERPC_AIX
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-endif
-if POWERPC_DARWIN
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-endif
-if POWERPC_FREEBSD
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-endif
-if ARM
-nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
-endif
-if AVR32
-nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
-endif
-if LIBFFI_CRIS
-nodist_libffi_la_SOURCES += src/cris/sysv.S src/cris/ffi.c
-endif
-if FRV
-nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
-endif
-if MOXIE
-nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
-endif
-if S390
-nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
-endif
-if X86_64
-nodist_libffi_la_SOURCES += src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-endif
-if SH
-nodist_libffi_la_SOURCES += src/sh/sysv.S src/sh/ffi.c
-endif
-if SH64
-nodist_libffi_la_SOURCES += src/sh64/sysv.S src/sh64/ffi.c
-endif
-if PA_LINUX
-nodist_libffi_la_SOURCES += src/pa/linux.S src/pa/ffi.c
-endif
-if PA_HPUX
-nodist_libffi_la_SOURCES += src/pa/hpux32.S src/pa/ffi.c
-endif
-
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-
-AM_CFLAGS = -Wall -g -fexceptions
-if FFI_DEBUG
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-AM_CFLAGS += -DFFI_DEBUG
-else
-# Build opt.
-AM_CFLAGS += -O2
-endif
-
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
diff --git a/.pc/ios/Makefile.in b/.pc/ios/Makefile.in
deleted file mode 100644 (file)
index 7b81a99..0000000
+++ /dev/null
@@ -1,1827 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-@MIPS_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-@X86_TRUE@am__append_2 = src/x86/ffi.c src/x86/sysv.S
-@X86_FREEBSD_TRUE@am__append_3 = src/x86/ffi.c src/x86/freebsd.S
-@X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
-@X86_WIN64_TRUE@am__append_5 = src/x86/ffi.c src/x86/win64.S
-@X86_DARWIN_TRUE@am__append_6 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-@SPARC_TRUE@am__append_7 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-@ALPHA_TRUE@am__append_8 = src/alpha/ffi.c src/alpha/osf.S
-@IA64_TRUE@am__append_9 = src/ia64/ffi.c src/ia64/unix.S
-@M32R_TRUE@am__append_10 = src/m32r/sysv.S src/m32r/ffi.c
-@M68K_TRUE@am__append_11 = src/m68k/ffi.c src/m68k/sysv.S
-@POWERPC_TRUE@am__append_12 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-@POWERPC_AIX_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-@POWERPC_DARWIN_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-@POWERPC_FREEBSD_TRUE@am__append_15 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-@ARM_TRUE@am__append_16 = src/arm/sysv.S src/arm/ffi.c
-@AVR32_TRUE@am__append_17 = src/avr32/sysv.S src/avr32/ffi.c
-@LIBFFI_CRIS_TRUE@am__append_18 = src/cris/sysv.S src/cris/ffi.c
-@FRV_TRUE@am__append_19 = src/frv/eabi.S src/frv/ffi.c
-@MOXIE_TRUE@am__append_20 = src/moxie/eabi.S src/moxie/ffi.c
-@S390_TRUE@am__append_21 = src/s390/sysv.S src/s390/ffi.c
-@X86_64_TRUE@am__append_22 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-@SH_TRUE@am__append_23 = src/sh/sysv.S src/sh/ffi.c
-@SH64_TRUE@am__append_24 = src/sh64/sysv.S src/sh64/ffi.c
-@PA_LINUX_TRUE@am__append_25 = src/pa/linux.S src/pa/ffi.c
-@PA_HPUX_TRUE@am__append_26 = src/pa/hpux32.S src/pa/ffi.c
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-@FFI_DEBUG_TRUE@am__append_27 = -DFFI_DEBUG
-# Build opt.
-@FFI_DEBUG_FALSE@am__append_28 = -O2
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
-       $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
-       $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
-       compile config.guess config.sub depcomp install-sh ltmain.sh \
-       mdate-sh missing texinfo.tex
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
-       $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = fficonfig.h
-CONFIG_CLEAN_FILES = libffi.pc
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" \
-       "$(DESTDIR)$(pkgconfigdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-libffi_la_LIBADD =
-am__dirstamp = $(am__leading_dot)dirstamp
-am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
-       src/raw_api.lo src/java_raw_api.lo src/closures.lo
-@MIPS_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
-@MIPS_TRUE@    src/mips/n32.lo
-@X86_TRUE@am__objects_2 = src/x86/ffi.lo src/x86/sysv.lo
-@X86_FREEBSD_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/freebsd.lo
-@X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
-@X86_WIN64_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win64.lo
-@X86_DARWIN_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/darwin.lo \
-@X86_DARWIN_TRUE@      src/x86/ffi64.lo src/x86/darwin64.lo
-@SPARC_TRUE@am__objects_7 = src/sparc/ffi.lo src/sparc/v8.lo \
-@SPARC_TRUE@   src/sparc/v9.lo
-@ALPHA_TRUE@am__objects_8 = src/alpha/ffi.lo src/alpha/osf.lo
-@IA64_TRUE@am__objects_9 = src/ia64/ffi.lo src/ia64/unix.lo
-@M32R_TRUE@am__objects_10 = src/m32r/sysv.lo src/m32r/ffi.lo
-@M68K_TRUE@am__objects_11 = src/m68k/ffi.lo src/m68k/sysv.lo
-@POWERPC_TRUE@am__objects_12 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
-@POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
-@POWERPC_TRUE@ src/powerpc/linux64.lo \
-@POWERPC_TRUE@ src/powerpc/linux64_closure.lo
-@POWERPC_AIX_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
-@POWERPC_AIX_TRUE@     src/powerpc/aix.lo \
-@POWERPC_AIX_TRUE@     src/powerpc/aix_closure.lo
-@POWERPC_DARWIN_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
-@POWERPC_DARWIN_TRUE@  src/powerpc/darwin.lo \
-@POWERPC_DARWIN_TRUE@  src/powerpc/darwin_closure.lo
-@POWERPC_FREEBSD_TRUE@am__objects_15 = src/powerpc/ffi.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
-@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
-@AVR32_TRUE@am__objects_17 = src/avr32/sysv.lo src/avr32/ffi.lo
-@LIBFFI_CRIS_TRUE@am__objects_18 = src/cris/sysv.lo src/cris/ffi.lo
-@FRV_TRUE@am__objects_19 = src/frv/eabi.lo src/frv/ffi.lo
-@MOXIE_TRUE@am__objects_20 = src/moxie/eabi.lo src/moxie/ffi.lo
-@S390_TRUE@am__objects_21 = src/s390/sysv.lo src/s390/ffi.lo
-@X86_64_TRUE@am__objects_22 = src/x86/ffi64.lo src/x86/unix64.lo \
-@X86_64_TRUE@  src/x86/ffi.lo src/x86/sysv.lo
-@SH_TRUE@am__objects_23 = src/sh/sysv.lo src/sh/ffi.lo
-@SH64_TRUE@am__objects_24 = src/sh64/sysv.lo src/sh64/ffi.lo
-@PA_LINUX_TRUE@am__objects_25 = src/pa/linux.lo src/pa/ffi.lo
-@PA_HPUX_TRUE@am__objects_26 = src/pa/hpux32.lo src/pa/ffi.lo
-nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
-       $(am__objects_3) $(am__objects_4) $(am__objects_5) \
-       $(am__objects_6) $(am__objects_7) $(am__objects_8) \
-       $(am__objects_9) $(am__objects_10) $(am__objects_11) \
-       $(am__objects_12) $(am__objects_13) $(am__objects_14) \
-       $(am__objects_15) $(am__objects_16) $(am__objects_17) \
-       $(am__objects_18) $(am__objects_19) $(am__objects_20) \
-       $(am__objects_21) $(am__objects_22) $(am__objects_23) \
-       $(am__objects_24) $(am__objects_25) $(am__objects_26)
-libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
-       $(nodist_libffi_la_OBJECTS)
-libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
-libffi_convenience_la_LIBADD =
-am__objects_27 = src/debug.lo src/prep_cif.lo src/types.lo \
-       src/raw_api.lo src/java_raw_api.lo src/closures.lo
-am_libffi_convenience_la_OBJECTS = $(am__objects_27)
-am__objects_28 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
-       $(am__objects_4) $(am__objects_5) $(am__objects_6) \
-       $(am__objects_7) $(am__objects_8) $(am__objects_9) \
-       $(am__objects_10) $(am__objects_11) $(am__objects_12) \
-       $(am__objects_13) $(am__objects_14) $(am__objects_15) \
-       $(am__objects_16) $(am__objects_17) $(am__objects_18) \
-       $(am__objects_19) $(am__objects_20) $(am__objects_21) \
-       $(am__objects_22) $(am__objects_23) $(am__objects_24) \
-       $(am__objects_25) $(am__objects_26)
-nodist_libffi_convenience_la_OBJECTS = $(am__objects_28)
-libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
-       $(nodist_libffi_convenience_la_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
-       $(libffi_convenience_la_SOURCES) \
-       $(nodist_libffi_convenience_la_SOURCES)
-DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
-INFO_DEPS = $(srcdir)/doc/libffi.info
-am__TEXINFO_TEX_DIR = $(srcdir)
-DVIS = doc/libffi.dvi
-PDFS = doc/libffi.pdf
-PSS = doc/libffi.ps
-HTMLS = doc/libffi.html
-TEXINFOS = doc/libffi.texi
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-DVIPS = dvips
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-DATA = $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_LTLDFLAGS = @AM_LTLDFLAGS@
-AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASDEPMODE = @CCASDEPMODE@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TARGET = @TARGET@
-TARGETDIR = @TARGETDIR@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign subdir-objects
-SUBDIRS = include testsuite man
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
-       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
-       src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
-       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
-       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
-       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
-       src/ia64/unix.S \
-       src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
-       src/mips/ffitarget.h \
-       src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
-       src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
-       src/powerpc/ffi.c src/powerpc/sysv.S \
-       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
-       src/powerpc/ppc_closure.S src/powerpc/asm.h \
-       src/powerpc/aix.S src/powerpc/darwin.S \
-       src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
-       src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
-       src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
-       src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
-       src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
-       src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
-       src/sparc/ffi.c src/x86/darwin64.S \
-       src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
-       src/x86/win64.S src/x86/freebsd.S \
-       src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
-       src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
-       src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h \
-       src/dlmalloc.c \
-       src/moxie/ffi.c src/moxie/eabi.S \
-       libtool-version ChangeLog.libffi m4/libtool.m4 \
-       m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
-
-info_TEXINFOS = doc/libffi.texi
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
-       "AR_FLAGS=$(AR_FLAGS)" \
-       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
-       "CFLAGS=$(CFLAGS)" \
-       "CXXFLAGS=$(CXXFLAGS)" \
-       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
-       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
-       "INSTALL=$(INSTALL)" \
-       "INSTALL_DATA=$(INSTALL_DATA)" \
-       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
-       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
-       "JC1FLAGS=$(JC1FLAGS)" \
-       "LDFLAGS=$(LDFLAGS)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
-       "MAKE=$(MAKE)" \
-       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
-       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-       "SHELL=$(SHELL)" \
-       "exec_prefix=$(exec_prefix)" \
-       "infodir=$(infodir)" \
-       "libdir=$(libdir)" \
-       "mandir=$(mandir)" \
-       "prefix=$(prefix)" \
-       "AR=$(AR)" \
-       "AS=$(AS)" \
-       "CC=$(CC)" \
-       "CXX=$(CXX)" \
-       "LD=$(LD)" \
-       "NM=$(NM)" \
-       "RANLIB=$(RANLIB)" \
-       "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES = 
-ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
-               src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
-       $(am__append_3) $(am__append_4) $(am__append_5) \
-       $(am__append_6) $(am__append_7) $(am__append_8) \
-       $(am__append_9) $(am__append_10) $(am__append_11) \
-       $(am__append_12) $(am__append_13) $(am__append_14) \
-       $(am__append_15) $(am__append_16) $(am__append_17) \
-       $(am__append_18) $(am__append_19) $(am__append_20) \
-       $(am__append_21) $(am__append_22) $(am__append_23) \
-       $(am__append_24) $(am__append_25) $(am__append_26)
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-AM_CFLAGS = -Wall -g -fexceptions $(am__append_27) $(am__append_28)
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-all: fficonfig.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .S .c .dvi .lo .o .obj .ps
-am--refresh:
-       @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
-             $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           echo ' $(SHELL) ./config.status'; \
-           $(SHELL) ./config.status;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-       $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-       $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-fficonfig.h: stamp-h1
-       @if test ! -f $@; then \
-         rm -f stamp-h1; \
-         $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-       else :; fi
-
-stamp-h1: $(srcdir)/fficonfig.h.in $(top_builddir)/config.status
-       @rm -f stamp-h1
-       cd $(top_builddir) && $(SHELL) ./config.status fficonfig.h
-$(srcdir)/fficonfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
-       ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-       rm -f stamp-h1
-       touch $@
-
-distclean-hdr:
-       -rm -f fficonfig.h stamp-h1
-libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-       @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-       list2=; for p in $$list; do \
-         if test -f $$p; then \
-           list2="$$list2 $$p"; \
-         else :; fi; \
-       done; \
-       test -z "$$list2" || { \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
-       }
-
-uninstall-libLTLIBRARIES:
-       @$(NORMAL_UNINSTALL)
-       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
-       done
-
-clean-libLTLIBRARIES:
-       -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-
-clean-noinstLTLIBRARIES:
-       -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-src/$(am__dirstamp):
-       @$(MKDIR_P) src
-       @: > src/$(am__dirstamp)
-src/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/$(DEPDIR)
-       @: > src/$(DEPDIR)/$(am__dirstamp)
-src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/mips/$(am__dirstamp):
-       @$(MKDIR_P) src/mips
-       @: > src/mips/$(am__dirstamp)
-src/mips/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/mips/$(DEPDIR)
-       @: > src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/ffi.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/o32.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/n32.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/x86/$(am__dirstamp):
-       @$(MKDIR_P) src/x86
-       @: > src/x86/$(am__dirstamp)
-src/x86/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/x86/$(DEPDIR)
-       @: > src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/sysv.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/freebsd.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win32.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sparc/$(am__dirstamp):
-       @$(MKDIR_P) src/sparc
-       @: > src/sparc/$(am__dirstamp)
-src/sparc/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sparc/$(DEPDIR)
-       @: > src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/ffi.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v8.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v9.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/alpha/$(am__dirstamp):
-       @$(MKDIR_P) src/alpha
-       @: > src/alpha/$(am__dirstamp)
-src/alpha/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/alpha/$(DEPDIR)
-       @: > src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/ffi.lo: src/alpha/$(am__dirstamp) \
-       src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/osf.lo: src/alpha/$(am__dirstamp) \
-       src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/ia64/$(am__dirstamp):
-       @$(MKDIR_P) src/ia64
-       @: > src/ia64/$(am__dirstamp)
-src/ia64/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/ia64/$(DEPDIR)
-       @: > src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/ffi.lo: src/ia64/$(am__dirstamp) \
-       src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/unix.lo: src/ia64/$(am__dirstamp) \
-       src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/m32r/$(am__dirstamp):
-       @$(MKDIR_P) src/m32r
-       @: > src/m32r/$(am__dirstamp)
-src/m32r/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/m32r/$(DEPDIR)
-       @: > src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/sysv.lo: src/m32r/$(am__dirstamp) \
-       src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/ffi.lo: src/m32r/$(am__dirstamp) \
-       src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m68k/$(am__dirstamp):
-       @$(MKDIR_P) src/m68k
-       @: > src/m68k/$(am__dirstamp)
-src/m68k/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/m68k/$(DEPDIR)
-       @: > src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \
-       src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
-       src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/$(am__dirstamp):
-       @$(MKDIR_P) src/powerpc
-       @: > src/powerpc/$(am__dirstamp)
-src/powerpc/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/powerpc/$(DEPDIR)
-       @: > src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/sysv.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ppc_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/arm/$(am__dirstamp):
-       @$(MKDIR_P) src/arm
-       @: > src/arm/$(am__dirstamp)
-src/arm/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/arm/$(DEPDIR)
-       @: > src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/sysv.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/ffi.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/avr32/$(am__dirstamp):
-       @$(MKDIR_P) src/avr32
-       @: > src/avr32/$(am__dirstamp)
-src/avr32/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/avr32/$(DEPDIR)
-       @: > src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/sysv.lo: src/avr32/$(am__dirstamp) \
-       src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/ffi.lo: src/avr32/$(am__dirstamp) \
-       src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/cris/$(am__dirstamp):
-       @$(MKDIR_P) src/cris
-       @: > src/cris/$(am__dirstamp)
-src/cris/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/cris/$(DEPDIR)
-       @: > src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/sysv.lo: src/cris/$(am__dirstamp) \
-       src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/ffi.lo: src/cris/$(am__dirstamp) \
-       src/cris/$(DEPDIR)/$(am__dirstamp)
-src/frv/$(am__dirstamp):
-       @$(MKDIR_P) src/frv
-       @: > src/frv/$(am__dirstamp)
-src/frv/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/frv/$(DEPDIR)
-       @: > src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/eabi.lo: src/frv/$(am__dirstamp) \
-       src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/ffi.lo: src/frv/$(am__dirstamp) \
-       src/frv/$(DEPDIR)/$(am__dirstamp)
-src/moxie/$(am__dirstamp):
-       @$(MKDIR_P) src/moxie
-       @: > src/moxie/$(am__dirstamp)
-src/moxie/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/moxie/$(DEPDIR)
-       @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
-       src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
-       src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/s390/$(am__dirstamp):
-       @$(MKDIR_P) src/s390
-       @: > src/s390/$(am__dirstamp)
-src/s390/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/s390/$(DEPDIR)
-       @: > src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/sysv.lo: src/s390/$(am__dirstamp) \
-       src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/ffi.lo: src/s390/$(am__dirstamp) \
-       src/s390/$(DEPDIR)/$(am__dirstamp)
-src/x86/unix64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sh/$(am__dirstamp):
-       @$(MKDIR_P) src/sh
-       @: > src/sh/$(am__dirstamp)
-src/sh/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sh/$(DEPDIR)
-       @: > src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/sysv.lo: src/sh/$(am__dirstamp) \
-       src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/ffi.lo: src/sh/$(am__dirstamp) src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh64/$(am__dirstamp):
-       @$(MKDIR_P) src/sh64
-       @: > src/sh64/$(am__dirstamp)
-src/sh64/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sh64/$(DEPDIR)
-       @: > src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/sysv.lo: src/sh64/$(am__dirstamp) \
-       src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/ffi.lo: src/sh64/$(am__dirstamp) \
-       src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/pa/$(am__dirstamp):
-       @$(MKDIR_P) src/pa
-       @: > src/pa/$(am__dirstamp)
-src/pa/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/pa/$(DEPDIR)
-       @: > src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/linux.lo: src/pa/$(am__dirstamp) \
-       src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
-       src/pa/$(DEPDIR)/$(am__dirstamp)
-libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) 
-       $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
-libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) 
-       $(LINK)  $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-       -rm -f src/alpha/ffi.$(OBJEXT)
-       -rm -f src/alpha/ffi.lo
-       -rm -f src/alpha/osf.$(OBJEXT)
-       -rm -f src/alpha/osf.lo
-       -rm -f src/arm/ffi.$(OBJEXT)
-       -rm -f src/arm/ffi.lo
-       -rm -f src/arm/sysv.$(OBJEXT)
-       -rm -f src/arm/sysv.lo
-       -rm -f src/avr32/ffi.$(OBJEXT)
-       -rm -f src/avr32/ffi.lo
-       -rm -f src/avr32/sysv.$(OBJEXT)
-       -rm -f src/avr32/sysv.lo
-       -rm -f src/closures.$(OBJEXT)
-       -rm -f src/closures.lo
-       -rm -f src/cris/ffi.$(OBJEXT)
-       -rm -f src/cris/ffi.lo
-       -rm -f src/cris/sysv.$(OBJEXT)
-       -rm -f src/cris/sysv.lo
-       -rm -f src/debug.$(OBJEXT)
-       -rm -f src/debug.lo
-       -rm -f src/frv/eabi.$(OBJEXT)
-       -rm -f src/frv/eabi.lo
-       -rm -f src/frv/ffi.$(OBJEXT)
-       -rm -f src/frv/ffi.lo
-       -rm -f src/ia64/ffi.$(OBJEXT)
-       -rm -f src/ia64/ffi.lo
-       -rm -f src/ia64/unix.$(OBJEXT)
-       -rm -f src/ia64/unix.lo
-       -rm -f src/java_raw_api.$(OBJEXT)
-       -rm -f src/java_raw_api.lo
-       -rm -f src/m32r/ffi.$(OBJEXT)
-       -rm -f src/m32r/ffi.lo
-       -rm -f src/m32r/sysv.$(OBJEXT)
-       -rm -f src/m32r/sysv.lo
-       -rm -f src/m68k/ffi.$(OBJEXT)
-       -rm -f src/m68k/ffi.lo
-       -rm -f src/m68k/sysv.$(OBJEXT)
-       -rm -f src/m68k/sysv.lo
-       -rm -f src/mips/ffi.$(OBJEXT)
-       -rm -f src/mips/ffi.lo
-       -rm -f src/mips/n32.$(OBJEXT)
-       -rm -f src/mips/n32.lo
-       -rm -f src/mips/o32.$(OBJEXT)
-       -rm -f src/mips/o32.lo
-       -rm -f src/moxie/eabi.$(OBJEXT)
-       -rm -f src/moxie/eabi.lo
-       -rm -f src/moxie/ffi.$(OBJEXT)
-       -rm -f src/moxie/ffi.lo
-       -rm -f src/pa/ffi.$(OBJEXT)
-       -rm -f src/pa/ffi.lo
-       -rm -f src/pa/hpux32.$(OBJEXT)
-       -rm -f src/pa/hpux32.lo
-       -rm -f src/pa/linux.$(OBJEXT)
-       -rm -f src/pa/linux.lo
-       -rm -f src/powerpc/aix.$(OBJEXT)
-       -rm -f src/powerpc/aix.lo
-       -rm -f src/powerpc/aix_closure.$(OBJEXT)
-       -rm -f src/powerpc/aix_closure.lo
-       -rm -f src/powerpc/darwin.$(OBJEXT)
-       -rm -f src/powerpc/darwin.lo
-       -rm -f src/powerpc/darwin_closure.$(OBJEXT)
-       -rm -f src/powerpc/darwin_closure.lo
-       -rm -f src/powerpc/ffi.$(OBJEXT)
-       -rm -f src/powerpc/ffi.lo
-       -rm -f src/powerpc/ffi_darwin.$(OBJEXT)
-       -rm -f src/powerpc/ffi_darwin.lo
-       -rm -f src/powerpc/linux64.$(OBJEXT)
-       -rm -f src/powerpc/linux64.lo
-       -rm -f src/powerpc/linux64_closure.$(OBJEXT)
-       -rm -f src/powerpc/linux64_closure.lo
-       -rm -f src/powerpc/ppc_closure.$(OBJEXT)
-       -rm -f src/powerpc/ppc_closure.lo
-       -rm -f src/powerpc/sysv.$(OBJEXT)
-       -rm -f src/powerpc/sysv.lo
-       -rm -f src/prep_cif.$(OBJEXT)
-       -rm -f src/prep_cif.lo
-       -rm -f src/raw_api.$(OBJEXT)
-       -rm -f src/raw_api.lo
-       -rm -f src/s390/ffi.$(OBJEXT)
-       -rm -f src/s390/ffi.lo
-       -rm -f src/s390/sysv.$(OBJEXT)
-       -rm -f src/s390/sysv.lo
-       -rm -f src/sh/ffi.$(OBJEXT)
-       -rm -f src/sh/ffi.lo
-       -rm -f src/sh/sysv.$(OBJEXT)
-       -rm -f src/sh/sysv.lo
-       -rm -f src/sh64/ffi.$(OBJEXT)
-       -rm -f src/sh64/ffi.lo
-       -rm -f src/sh64/sysv.$(OBJEXT)
-       -rm -f src/sh64/sysv.lo
-       -rm -f src/sparc/ffi.$(OBJEXT)
-       -rm -f src/sparc/ffi.lo
-       -rm -f src/sparc/v8.$(OBJEXT)
-       -rm -f src/sparc/v8.lo
-       -rm -f src/sparc/v9.$(OBJEXT)
-       -rm -f src/sparc/v9.lo
-       -rm -f src/types.$(OBJEXT)
-       -rm -f src/types.lo
-       -rm -f src/x86/darwin.$(OBJEXT)
-       -rm -f src/x86/darwin.lo
-       -rm -f src/x86/darwin64.$(OBJEXT)
-       -rm -f src/x86/darwin64.lo
-       -rm -f src/x86/ffi.$(OBJEXT)
-       -rm -f src/x86/ffi.lo
-       -rm -f src/x86/ffi64.$(OBJEXT)
-       -rm -f src/x86/ffi64.lo
-       -rm -f src/x86/freebsd.$(OBJEXT)
-       -rm -f src/x86/freebsd.lo
-       -rm -f src/x86/sysv.$(OBJEXT)
-       -rm -f src/x86/sysv.lo
-       -rm -f src/x86/unix64.$(OBJEXT)
-       -rm -f src/x86/unix64.lo
-       -rm -f src/x86/win32.$(OBJEXT)
-       -rm -f src/x86/win32.lo
-       -rm -f src/x86/win64.$(OBJEXT)
-       -rm -f src/x86/win64.lo
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/closures.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/debug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/java_raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/prep_cif.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/types.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/unix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi_darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ppc_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v8.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/freebsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/unix64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win64.Plo@am__quote@
-
-.S.o:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(CPPASCOMPILE) -c -o $@ $<
-
-.S.obj:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.S.lo:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(LTCPPASCOMPILE) -c -o $@ $<
-
-.c.o:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-       -rm -rf src/.libs src/_libs
-       -rm -rf src/alpha/.libs src/alpha/_libs
-       -rm -rf src/arm/.libs src/arm/_libs
-       -rm -rf src/avr32/.libs src/avr32/_libs
-       -rm -rf src/cris/.libs src/cris/_libs
-       -rm -rf src/frv/.libs src/frv/_libs
-       -rm -rf src/ia64/.libs src/ia64/_libs
-       -rm -rf src/m32r/.libs src/m32r/_libs
-       -rm -rf src/m68k/.libs src/m68k/_libs
-       -rm -rf src/mips/.libs src/mips/_libs
-       -rm -rf src/moxie/.libs src/moxie/_libs
-       -rm -rf src/pa/.libs src/pa/_libs
-       -rm -rf src/powerpc/.libs src/powerpc/_libs
-       -rm -rf src/s390/.libs src/s390/_libs
-       -rm -rf src/sh/.libs src/sh/_libs
-       -rm -rf src/sh64/.libs src/sh64/_libs
-       -rm -rf src/sparc/.libs src/sparc/_libs
-       -rm -rf src/x86/.libs src/x86/_libs
-
-distclean-libtool:
-       -rm -f libtool config.lt
-doc/$(am__dirstamp):
-       @$(MKDIR_P) doc
-       @: > doc/$(am__dirstamp)
-
-$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
-       restore=: && backupdir="$(am__leading_dot)am$$$$" && \
-       am__cwd=`pwd` && $(am__cd) $(srcdir) && \
-       rm -rf $$backupdir && mkdir $$backupdir && \
-       if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
-         for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
-           if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
-         done; \
-       else :; fi && \
-       cd "$$am__cwd"; \
-       if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-        -o $@ $(srcdir)/doc/libffi.texi; \
-       then \
-         rc=0; \
-         $(am__cd) $(srcdir); \
-       else \
-         rc=$$?; \
-         $(am__cd) $(srcdir) && \
-         $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
-       fi; \
-       rm -rf $$backupdir; exit $$rc
-
-doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-       $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-       $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       rm -rf $(@:.html=.htp)
-       if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-        -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
-       then \
-         rm -rf $@; \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
-       else \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
-         exit 1; \
-       fi
-$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
-$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
-       test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
-       @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
-       set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
-       echo "@set UPDATED $$1 $$2 $$3"; \
-       echo "@set UPDATED-MONTH $$2 $$3"; \
-       echo "@set EDITION $(VERSION)"; \
-       echo "@set VERSION $(VERSION)") > vti.tmp
-       @cmp -s vti.tmp $(srcdir)/doc/version.texi \
-         || (echo "Updating $(srcdir)/doc/version.texi"; \
-             cp vti.tmp $(srcdir)/doc/version.texi)
-       -@rm -f vti.tmp
-       @cp $(srcdir)/doc/version.texi $@
-
-mostlyclean-vti:
-       -rm -f vti.tmp
-
-maintainer-clean-vti:
-@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
-.dvi.ps:
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       $(DVIPS) -o $@ $<
-
-uninstall-dvi-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
-         rm -f "$(DESTDIR)$(dvidir)/$$f"; \
-       done
-
-uninstall-html-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
-         rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
-       done
-
-uninstall-info-am:
-       @$(PRE_UNINSTALL)
-       @if test -d '$(DESTDIR)$(infodir)' && \
-           (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
-         list='$(INFO_DEPS)'; \
-         for file in $$list; do \
-           relfile=`echo "$$file" | sed 's|^.*/||'`; \
-           echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
-           if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
-           then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
-         done; \
-       else :; fi
-       @$(NORMAL_UNINSTALL)
-       @list='$(INFO_DEPS)'; \
-       for file in $$list; do \
-         relfile=`echo "$$file" | sed 's|^.*/||'`; \
-         relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
-         (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
-            echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
-            rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
-          else :; fi); \
-       done
-
-uninstall-pdf-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
-         rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
-       done
-
-uninstall-ps-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(PSS)'; test -n "$(psdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
-         rm -f "$(DESTDIR)$(psdir)/$$f"; \
-       done
-
-dist-info: $(INFO_DEPS)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-       list='$(INFO_DEPS)'; \
-       for base in $$list; do \
-         case $$base in \
-           $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
-         esac; \
-         if test -f $$base; then d=.; else d=$(srcdir); fi; \
-         base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
-         for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
-           if test -f $$file; then \
-             relfile=`expr "$$file" : "$$d/\(.*\)"`; \
-             test -f "$(distdir)/$$relfile" || \
-               cp -p $$file "$(distdir)/$$relfile"; \
-           else :; fi; \
-         done; \
-       done
-
-mostlyclean-aminfo:
-       -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
-         libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
-
-clean-aminfo:
-       -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
-       || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
-
-maintainer-clean-aminfo:
-       @list='$(INFO_DEPS)'; for i in $$list; do \
-         i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
-         echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
-         rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
-       done
-install-pkgconfigDATA: $(pkgconfig_DATA)
-       @$(NORMAL_INSTALL)
-       test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
-       done
-
-uninstall-pkgconfigDATA:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       test -n "$$files" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-info
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
-installdirs: installdirs-recursive
-installdirs-am:
-       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -rm -f doc/$(am__dirstamp)
-       -rm -f src/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/$(am__dirstamp)
-       -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/alpha/$(am__dirstamp)
-       -rm -f src/arm/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/arm/$(am__dirstamp)
-       -rm -f src/avr32/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/avr32/$(am__dirstamp)
-       -rm -f src/cris/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/cris/$(am__dirstamp)
-       -rm -f src/frv/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/frv/$(am__dirstamp)
-       -rm -f src/ia64/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/ia64/$(am__dirstamp)
-       -rm -f src/m32r/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/m32r/$(am__dirstamp)
-       -rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/m68k/$(am__dirstamp)
-       -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/mips/$(am__dirstamp)
-       -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/moxie/$(am__dirstamp)
-       -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/pa/$(am__dirstamp)
-       -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/powerpc/$(am__dirstamp)
-       -rm -f src/s390/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/s390/$(am__dirstamp)
-       -rm -f src/sh/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sh/$(am__dirstamp)
-       -rm -f src/sh64/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sh64/$(am__dirstamp)
-       -rm -f src/sparc/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sparc/$(am__dirstamp)
-       -rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/x86/$(am__dirstamp)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
-       clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am: $(DVIS)
-
-html: html-recursive
-
-html-am: $(HTMLS)
-
-info: info-recursive
-
-info-am: $(INFO_DEPS)
-
-install-data-am: install-info-am install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am: $(DVIS)
-       @$(NORMAL_INSTALL)
-       test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
-       @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
-       done
-install-exec-am: install-libLTLIBRARIES
-
-install-html-am: $(HTMLS)
-       @$(NORMAL_INSTALL)
-       test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
-       @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         $(am__strip_dir) \
-         if test -d "$$d$$p"; then \
-           echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
-           echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
-         else \
-           list2="$$list2 $$d$$p"; \
-         fi; \
-       done; \
-       test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
-       done; }
-install-info: install-info-recursive
-
-install-info-am: $(INFO_DEPS)
-       @$(NORMAL_INSTALL)
-       test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-       list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
-       for file in $$list; do \
-         case $$file in \
-           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-         esac; \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
-         file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
-         for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
-                      $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
-           if test -f $$ifile; then \
-             echo "$$ifile"; \
-           else : ; fi; \
-         done; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
-       @$(POST_INSTALL)
-       @if (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
-         list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
-         for file in $$list; do \
-           relfile=`echo "$$file" | sed 's|^.*/||'`; \
-           echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
-           install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
-         done; \
-       else : ; fi
-install-man:
-
-install-pdf-am: $(PDFS)
-       @$(NORMAL_INSTALL)
-       test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
-       @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
-install-ps: install-ps-recursive
-
-install-ps-am: $(PSS)
-       @$(NORMAL_INSTALL)
-       test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
-       @list='$(PSS)'; test -n "$(psdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf $(top_srcdir)/autom4te.cache
-       -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-aminfo \
-       maintainer-clean-generic maintainer-clean-vti
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool mostlyclean-vti
-
-pdf: pdf-recursive
-
-pdf-am: $(PDFS)
-
-ps: ps-recursive
-
-ps-am: $(PSS)
-
-uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
-       uninstall-libLTLIBRARIES uninstall-pdf-am \
-       uninstall-pkgconfigDATA uninstall-ps-am
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
-       ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-aminfo \
-       clean-generic clean-libLTLIBRARIES clean-libtool \
-       clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
-       dist-bzip2 dist-gzip dist-info dist-lzma dist-shar dist-tarZ \
-       dist-xz dist-zip distcheck distclean distclean-compile \
-       distclean-generic distclean-hdr distclean-libtool \
-       distclean-tags distcleancheck distdir distuninstallcheck dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-libLTLIBRARIES \
-       install-man install-pdf install-pdf-am install-pkgconfigDATA \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-aminfo maintainer-clean-generic \
-       maintainer-clean-vti mostlyclean mostlyclean-aminfo \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
-       uninstall-info-am uninstall-libLTLIBRARIES uninstall-pdf-am \
-       uninstall-pkgconfigDATA uninstall-ps-am
-
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/.pc/ios/configure.ac b/.pc/ios/configure.ac
deleted file mode 100644 (file)
index 0b0bf59..0000000
+++ /dev/null
@@ -1,481 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
- powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    LT_SYS_SYMBOL_USCORE
-    if test "x$sys_symbol_underscore" = xyes; then
-        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-    fi
-fi
-
-case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-      libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-      AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-      AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  else
-      AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  fi
-
-  AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-      libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-      AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-  fi
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/ios/fficonfig.h.in b/.pc/ios/fficonfig.h.in
deleted file mode 100644 (file)
index e012ebb..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-/* fficonfig.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define if building universal (internal helper macro) */
-#undef AC_APPLE_UNIVERSAL_BUILD
-
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
-   systems. This function is required for `alloca.c' support on those systems.
-   */
-#undef CRAY_STACKSEG_END
-
-/* Define to 1 if using `alloca.c'. */
-#undef C_ALLOCA
-
-/* Define to the flags needed for the .section .eh_frame directive. */
-#undef EH_FRAME_FLAGS
-
-/* Define this if you want extra debugging. */
-#undef FFI_DEBUG
-
-/* Cannot use malloc on this target, so, we revert to alternative means */
-#undef FFI_MMAP_EXEC_WRIT
-
-/* Define this is you do not want support for the raw API. */
-#undef FFI_NO_RAW_API
-
-/* Define this is you do not want support for aggregate types. */
-#undef FFI_NO_STRUCTS
-
-/* Define to 1 if you have `alloca', as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
-   */
-#undef HAVE_ALLOCA_H
-
-/* Define if your assembler supports .ascii. */
-#undef HAVE_AS_ASCII_PSEUDO_OP
-
-/* Define if your assembler supports .cfi_* directives. */
-#undef HAVE_AS_CFI_PSEUDO_OP
-
-/* Define if your assembler supports .register. */
-#undef HAVE_AS_REGISTER_PSEUDO_OP
-
-/* Define if your assembler and linker support unaligned PC relative relocs.
-   */
-#undef HAVE_AS_SPARC_UA_PCREL
-
-/* Define if your assembler supports .string. */
-#undef HAVE_AS_STRING_PSEUDO_OP
-
-/* Define if your assembler supports unwind section type. */
-#undef HAVE_AS_X86_64_UNWIND_SECTION_TYPE
-
-/* Define if your assembler supports PC relative relocs. */
-#undef HAVE_AS_X86_PCREL
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define if __attribute__((visibility("hidden"))) is supported. */
-#undef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define if you have the long double type and it is bigger than a double */
-#undef HAVE_LONG_DOUBLE
-
-/* Define to 1 if you have the `memcpy' function. */
-#undef HAVE_MEMCPY
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `mmap' function. */
-#undef HAVE_MMAP
-
-/* Define if mmap with MAP_ANON(YMOUS) works. */
-#undef HAVE_MMAP_ANON
-
-/* Define if mmap of /dev/zero works. */
-#undef HAVE_MMAP_DEV_ZERO
-
-/* Define if read-only mmap of a plain file works. */
-#undef HAVE_MMAP_FILE
-
-/* Define if .eh_frame sections should be read-only. */
-#undef HAVE_RO_EH_FRAME
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the <sys/mman.h> header file. */
-#undef HAVE_SYS_MMAN_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
-#undef LT_OBJDIR
-
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* The size of `double', as computed by sizeof. */
-#undef SIZEOF_DOUBLE
-
-/* The size of `long double', as computed by sizeof. */
-#undef SIZEOF_LONG_DOUBLE
-
-/* If using the C implementation of alloca, define if you know the
-   direction of stack growth for your system; otherwise it will be
-   automatically deduced at runtime.
-       STACK_DIRECTION > 0 => grows toward higher addresses
-       STACK_DIRECTION < 0 => grows toward lower addresses
-       STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define this if you are using Purify and want to suppress spurious messages.
-   */
-#undef USING_PURIFY
-
-/* Version number of package */
-#undef VERSION
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-#  undef WORDS_BIGENDIAN
-# endif
-#endif
-
-
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-
diff --git a/.pc/ios/src/arm/ffi.c b/.pc/ios/src/arm/ffi.c
deleted file mode 100644 (file)
index d526033..0000000
+++ /dev/null
@@ -1,504 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 1998, 2008  Red Hat, Inc.
-   
-   ARM Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-/* Forward declares. */
-static int vfp_type_p (ffi_type *);
-static void layout_vfp_args (ffi_cif *);
-
-/* ffi_prep_args is called by the assembly routine once stack space
-   has been allocated for the function's arguments
-   
-   The vfp_space parameter is the load area for VFP regs, the return
-   value is cif->vfp_used (word bitset of VFP regs used for passing
-   arguments). These are only used for the VFP hard-float ABI.
-*/
-int ffi_prep_args(char *stack, extended_cif *ecif, float *vfp_space)
-{
-  register unsigned int i, vi = 0;
-  register void **p_argv;
-  register char *argp;
-  register ffi_type **p_arg;
-
-  argp = stack;
-
-  if ( ecif->cif->flags == FFI_TYPE_STRUCT ) {
-    *(void **) argp = ecif->rvalue;
-    argp += 4;
-  }
-
-  p_argv = ecif->avalue;
-
-  for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
-       (i != 0);
-       i--, p_arg++)
-    {
-      size_t z;
-
-      /* Allocated in VFP registers. */
-      if (ecif->cif->abi == FFI_VFP
-         && vi < ecif->cif->vfp_nargs && vfp_type_p (*p_arg))
-       {
-         float* vfp_slot = vfp_space + ecif->cif->vfp_args[vi++];
-         if ((*p_arg)->type == FFI_TYPE_FLOAT)
-           *((float*)vfp_slot) = *((float*)*p_argv);
-         else if ((*p_arg)->type == FFI_TYPE_DOUBLE)
-           *((double*)vfp_slot) = *((double*)*p_argv);
-         else
-           memcpy(vfp_slot, *p_argv, (*p_arg)->size);
-         p_argv++;
-         continue;
-       }
-
-      /* Align if necessary */
-      if (((*p_arg)->alignment - 1) & (unsigned) argp) {
-       argp = (char *) ALIGN(argp, (*p_arg)->alignment);
-      }
-
-      if ((*p_arg)->type == FFI_TYPE_STRUCT)
-       argp = (char *) ALIGN(argp, 4);
-
-         z = (*p_arg)->size;
-         if (z < sizeof(int))
-           {
-             z = sizeof(int);
-             switch ((*p_arg)->type)
-               {
-               case FFI_TYPE_SINT8:
-                 *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_UINT8:
-                 *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_SINT16:
-                 *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_UINT16:
-                 *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_STRUCT:
-                 memcpy(argp, *p_argv, (*p_arg)->size);
-                 break;
-
-               default:
-                 FFI_ASSERT(0);
-               }
-           }
-         else if (z == sizeof(int))
-           {
-             *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv);
-           }
-         else
-           {
-             memcpy(argp, *p_argv, z);
-           }
-         p_argv++;
-         argp += z;
-    }
-
-  /* Indicate the VFP registers used. */
-  return ecif->cif->vfp_used;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
-  int type_code;
-  /* Round the stack up to a multiple of 8 bytes.  This isn't needed 
-     everywhere, but it is on some platforms, and it doesn't harm anything
-     when it isn't needed.  */
-  cif->bytes = (cif->bytes + 7) & ~7;
-
-  /* Set the return type flag */
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_VOID:
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-      cif->flags = (unsigned) cif->rtype->type;
-      break;
-
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_UINT64:
-      cif->flags = (unsigned) FFI_TYPE_SINT64;
-      break;
-
-    case FFI_TYPE_STRUCT:
-      if (cif->abi == FFI_VFP
-         && (type_code = vfp_type_p (cif->rtype)) != 0)
-       {
-         /* A Composite Type passed in VFP registers, either
-            FFI_TYPE_STRUCT_VFP_FLOAT or FFI_TYPE_STRUCT_VFP_DOUBLE. */
-         cif->flags = (unsigned) type_code;
-       }
-      else if (cif->rtype->size <= 4)
-       /* A Composite Type not larger than 4 bytes is returned in r0.  */
-       cif->flags = (unsigned)FFI_TYPE_INT;
-      else
-       /* A Composite Type larger than 4 bytes, or whose size cannot
-          be determined statically ... is stored in memory at an
-          address passed [in r0].  */
-       cif->flags = (unsigned)FFI_TYPE_STRUCT;
-      break;
-
-    default:
-      cif->flags = FFI_TYPE_INT;
-      break;
-    }
-
-  /* Map out the register placements of VFP register args.
-     The VFP hard-float calling conventions are slightly more sophisticated than
-     the base calling conventions, so we do it here instead of in ffi_prep_args(). */
-  if (cif->abi == FFI_VFP)
-    layout_vfp_args (cif);
-
-  return FFI_OK;
-}
-
-/* Prototypes for assembly functions, in sysv.S */
-extern void ffi_call_SYSV (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-extern void ffi_call_VFP (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  int small_struct = (cif->flags == FFI_TYPE_INT 
-                     && cif->rtype->type == FFI_TYPE_STRUCT);
-  int vfp_struct = (cif->flags == FFI_TYPE_STRUCT_VFP_FLOAT
-                   || cif->flags == FFI_TYPE_STRUCT_VFP_DOUBLE);
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  unsigned int temp;
-  
-  /* If the return value is a struct and we don't have a return        */
-  /* value address then we need to make one                    */
-
-  if ((rvalue == NULL) && 
-      (cif->flags == FFI_TYPE_STRUCT))
-    {
-      ecif.rvalue = alloca(cif->rtype->size);
-    }
-  else if (small_struct)
-    ecif.rvalue = &temp;
-  else if (vfp_struct)
-    {
-      /* Largest case is double x 4. */
-      ecif.rvalue = alloca(32);
-    }
-  else
-    ecif.rvalue = rvalue;
-
-  switch (cif->abi) 
-    {
-    case FFI_SYSV:
-      ffi_call_SYSV (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
-      break;
-
-    case FFI_VFP:
-      ffi_call_VFP (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
-      break;
-
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-  if (small_struct)
-    memcpy (rvalue, &temp, cif->rtype->size);
-  else if (vfp_struct)
-    memcpy (rvalue, ecif.rvalue, cif->rtype->size);
-}
-
-/** private members **/
-
-static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
-                                        void** args, ffi_cif* cif, float *vfp_stack);
-
-void ffi_closure_SYSV (ffi_closure *);
-
-void ffi_closure_VFP (ffi_closure *);
-
-/* This function is jumped to by the trampoline */
-
-unsigned int
-ffi_closure_SYSV_inner (closure, respp, args, vfp_args)
-     ffi_closure *closure;
-     void **respp;
-     void *args;
-     void *vfp_args;
-{
-  // our various things...
-  ffi_cif       *cif;
-  void         **arg_area;
-
-  cif         = closure->cif;
-  arg_area    = (void**) alloca (cif->nargs * sizeof (void*));  
-
-  /* this call will initialize ARG_AREA, such that each
-   * element in that array points to the corresponding 
-   * value on the stack; and if the function returns
-   * a structure, it will re-set RESP to point to the
-   * structure return address.  */
-
-  ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif, vfp_args);
-
-  (closure->fun) (cif, *respp, arg_area, closure->user_data);
-
-  return cif->flags;
-}
-
-/*@-exportheader@*/
-static void 
-ffi_prep_incoming_args_SYSV(char *stack, void **rvalue,
-                           void **avalue, ffi_cif *cif,
-                           /* Used only under VFP hard-float ABI. */
-                           float *vfp_stack)
-/*@=exportheader@*/
-{
-  register unsigned int i, vi = 0;
-  register void **p_argv;
-  register char *argp;
-  register ffi_type **p_arg;
-
-  argp = stack;
-
-  if ( cif->flags == FFI_TYPE_STRUCT ) {
-    *rvalue = *(void **) argp;
-    argp += 4;
-  }
-
-  p_argv = avalue;
-
-  for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
-    {
-      size_t z;
-      size_t alignment;
-  
-      if (cif->abi == FFI_VFP
-         && vi < cif->vfp_nargs && vfp_type_p (*p_arg))
-       {
-         *p_argv++ = (void*)(vfp_stack + cif->vfp_args[vi++]);
-         continue;
-       }
-
-      alignment = (*p_arg)->alignment;
-      if (alignment < 4)
-       alignment = 4;
-      /* Align if necessary */
-      if ((alignment - 1) & (unsigned) argp) {
-       argp = (char *) ALIGN(argp, alignment);
-      }
-
-      z = (*p_arg)->size;
-
-      /* because we're little endian, this is what it turns into.   */
-
-      *p_argv = (void*) argp;
-
-      p_argv++;
-      argp += z;
-    }
-  
-  return;
-}
-
-/* How to make a trampoline.  */
-
-extern unsigned int ffi_arm_trampoline[3];
-
-#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX)                             \
-({ unsigned char *__tramp = (unsigned char*)(TRAMP);                   \
-   unsigned int  __fun = (unsigned int)(FUN);                          \
-   unsigned int  __ctx = (unsigned int)(CTX);                          \
-   unsigned char *insns = (unsigned char *)(CTX);                       \
-   memcpy (__tramp, ffi_arm_trampoline, sizeof ffi_arm_trampoline);     \
-   *(unsigned int*) &__tramp[12] = __ctx;                              \
-   *(unsigned int*) &__tramp[16] = __fun;                              \
-   __clear_cache((&__tramp[0]), (&__tramp[19])); /* Clear data mapping.  */ \
-   __clear_cache(insns, insns + 3 * sizeof (unsigned int));             \
-                                                 /* Clear instruction   \
-                                                    mapping.  */        \
- })
-
-
-/* the cif must already be prep'ed */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif*,void*,void**,void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  void (*closure_func)(ffi_closure*) = NULL;
-
-  if (cif->abi == FFI_SYSV)
-    closure_func = &ffi_closure_SYSV;
-  else if (cif->abi == FFI_VFP)
-    closure_func = &ffi_closure_VFP;
-  else
-    FFI_ASSERT (0);
-    
-  FFI_INIT_TRAMPOLINE (&closure->tramp[0], \
-                      closure_func,  \
-                      codeloc);
-    
-  closure->cif  = cif;
-  closure->user_data = user_data;
-  closure->fun  = fun;
-
-  return FFI_OK;
-}
-
-/* Below are routines for VFP hard-float support. */
-
-static int rec_vfp_type_p (ffi_type *t, int *elt, int *elnum)
-{
-  switch (t->type)
-    {
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-      *elt = (int) t->type;
-      *elnum = 1;
-      return 1;
-
-    case FFI_TYPE_STRUCT_VFP_FLOAT:
-      *elt = FFI_TYPE_FLOAT;
-      *elnum = t->size / sizeof (float);
-      return 1;
-
-    case FFI_TYPE_STRUCT_VFP_DOUBLE:
-      *elt = FFI_TYPE_DOUBLE;
-      *elnum = t->size / sizeof (double);
-      return 1;
-
-    case FFI_TYPE_STRUCT:;
-      {
-       int base_elt = 0, total_elnum = 0;
-       ffi_type **el = t->elements;
-       while (*el)
-         {
-           int el_elt = 0, el_elnum = 0;
-           if (! rec_vfp_type_p (*el, &el_elt, &el_elnum)
-               || (base_elt && base_elt != el_elt)
-               || total_elnum + el_elnum > 4)
-             return 0;
-           base_elt = el_elt;
-           total_elnum += el_elnum;
-           el++;
-         }
-       *elnum = total_elnum;
-       *elt = base_elt;
-       return 1;
-      }
-    default: ;
-    }
-  return 0;
-}
-
-static int vfp_type_p (ffi_type *t)
-{
-  int elt, elnum;
-  if (rec_vfp_type_p (t, &elt, &elnum))
-    {
-      if (t->type == FFI_TYPE_STRUCT)
-       {
-         if (elnum == 1)
-           t->type = elt;
-         else
-           t->type = (elt == FFI_TYPE_FLOAT
-                      ? FFI_TYPE_STRUCT_VFP_FLOAT
-                      : FFI_TYPE_STRUCT_VFP_DOUBLE);
-       }
-      return (int) t->type;
-    }
-  return 0;
-}
-
-static void place_vfp_arg (ffi_cif *cif, ffi_type *t)
-{
-  int reg = cif->vfp_reg_free;
-  int nregs = t->size / sizeof (float);
-  int align = ((t->type == FFI_TYPE_STRUCT_VFP_FLOAT
-               || t->type == FFI_TYPE_FLOAT) ? 1 : 2);
-  /* Align register number. */
-  if ((reg & 1) && align == 2)
-    reg++;
-  while (reg + nregs <= 16)
-    {
-      int s, new_used = 0;
-      for (s = reg; s < reg + nregs; s++)
-       {
-         new_used |= (1 << s);
-         if (cif->vfp_used & (1 << s))
-           {
-             reg += align;
-             goto next_reg;
-           }
-       }
-      /* Found regs to allocate. */
-      cif->vfp_used |= new_used;
-      cif->vfp_args[cif->vfp_nargs++] = reg;
-
-      /* Update vfp_reg_free. */
-      if (cif->vfp_used & (1 << cif->vfp_reg_free))
-       {
-         reg += nregs;
-         while (cif->vfp_used & (1 << reg))
-           reg += 1;
-         cif->vfp_reg_free = reg;
-       }
-      return;
-    next_reg: ;
-    }
-}
-
-static void layout_vfp_args (ffi_cif *cif)
-{
-  int i;
-  /* Init VFP fields */
-  cif->vfp_used = 0;
-  cif->vfp_nargs = 0;
-  cif->vfp_reg_free = 0;
-  memset (cif->vfp_args, -1, 16); /* Init to -1. */
-
-  for (i = 0; i < cif->nargs; i++)
-    {
-      ffi_type *t = cif->arg_types[i];
-      if (vfp_type_p (t))
-       place_vfp_arg (cif, t);
-    }
-}
diff --git a/.pc/ios/src/arm/sysv.S b/.pc/ios/src/arm/sysv.S
deleted file mode 100644 (file)
index be6493a..0000000
+++ /dev/null
@@ -1,471 +0,0 @@
-/* -----------------------------------------------------------------------
-   sysv.S - Copyright (c) 1998, 2008 Red Hat, Inc.
-   
-   ARM Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#define LIBFFI_ASM     
-#include <fficonfig.h>
-#include <ffi.h>
-#ifdef HAVE_MACHINE_ASM_H
-#include <machine/asm.h>
-#else
-#ifdef __USER_LABEL_PREFIX__
-#define CONCAT1(a, b) CONCAT2(a, b)
-#define CONCAT2(a, b) a ## b
-
-/* Use the right prefix for global labels.  */
-#define CNAME(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
-#else
-#define CNAME(x) x
-#endif
-#define ENTRY(x) .globl CNAME(x); .type CNAME(x),%function; CNAME(x):
-#endif
-
-#ifdef __ELF__
-#define LSYM(x) .x
-#else
-#define LSYM(x) x
-#endif
-
-/* We need a better way of testing for this, but for now, this is all 
-   we can do.  */
-@ This selects the minimum architecture level required.
-#define __ARM_ARCH__ 3
-
-#if defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__)
-# undef __ARM_ARCH__
-# define __ARM_ARCH__ 4
-#endif
-        
-#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) \
-       || defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__) \
-       || defined(__ARM_ARCH_5TEJ__)
-# undef __ARM_ARCH__
-# define __ARM_ARCH__ 5
-#endif
-
-#if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \
-        || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \
-        || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) \
-       || defined(__ARM_ARCH_6M__)
-# undef __ARM_ARCH__
-# define __ARM_ARCH__ 6
-#endif
-
-#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \
-        || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \
-       || defined(__ARM_ARCH_7EM__)
-# undef __ARM_ARCH__
-# define __ARM_ARCH__ 7
-#endif
-
-#if __ARM_ARCH__ >= 5
-# define call_reg(x)   blx     x
-#elif defined (__ARM_ARCH_4T__)
-# define call_reg(x)   mov     lr, pc ; bx     x
-# if defined(__thumb__) || defined(__THUMB_INTERWORK__)
-#  define __INTERWORKING__
-# endif
-#else
-# define call_reg(x)   mov     lr, pc ; mov    pc, x
-#endif
-
-/* Conditionally compile unwinder directives.  */
-#ifdef __ARM_EABI__
-#define UNWIND
-#else
-#define UNWIND @
-#endif 
-
-       
-#if defined(__thumb__) && !defined(__THUMB_INTERWORK__)
-.macro ARM_FUNC_START name
-       .text
-       .align 0
-       .thumb
-       .thumb_func
-       ENTRY(\name)
-       bx      pc
-       nop
-       .arm
-       UNWIND .fnstart
-/* A hook to tell gdb that we've switched to ARM mode.  Also used to call
-   directly from other local arm routines.  */
-_L__\name:             
-.endm
-#else
-.macro ARM_FUNC_START name
-       .text
-       .align 0
-       .arm
-       ENTRY(\name)
-       UNWIND .fnstart
-.endm
-#endif
-
-.macro RETLDM  regs=, cond=, dirn=ia
-#if defined (__INTERWORKING__)
-       .ifc "\regs",""
-       ldr\cond        lr, [sp], #4
-       .else
-       ldm\cond\dirn   sp!, {\regs, lr}
-       .endif
-       bx\cond lr
-#else
-       .ifc "\regs",""
-       ldr\cond        pc, [sp], #4
-       .else
-       ldm\cond\dirn   sp!, {\regs, pc}
-       .endif
-#endif
-.endm
-
-
-       @ r0:   fn
-       @ r1:   &ecif
-       @ r2:   cif->bytes
-       @ r3:   fig->flags
-       @ sp+0: ecif.rvalue
-
-       @ This assumes we are using gas.
-ARM_FUNC_START ffi_call_SYSV
-       @ Save registers
-        stmfd  sp!, {r0-r3, fp, lr}
-       UNWIND .save    {r0-r3, fp, lr}
-       mov     fp, sp
-
-       UNWIND .setfp   fp, sp
-
-       @ Make room for all of the new args.
-       sub     sp, fp, r2
-
-       @ Place all of the ffi_prep_args in position
-       mov     r0, sp
-       @     r1 already set
-
-       @ Call ffi_prep_args(stack, &ecif)
-       bl      ffi_prep_args
-
-       @ move first 4 parameters in registers
-       ldmia   sp, {r0-r3}
-
-       @ and adjust stack
-       sub     lr, fp, sp      @ cif->bytes == fp - sp
-       ldr     ip, [fp]        @ load fn() in advance
-       cmp     lr, #16
-       movhs   lr, #16
-       add     sp, sp, lr
-
-       @ call (fn) (...)
-       call_reg(ip)
-       
-       @ Remove the space we pushed for the args
-       mov     sp, fp
-
-       @ Load r2 with the pointer to storage for the return value
-       ldr     r2, [sp, #24]
-
-       @ Load r3 with the return type code 
-       ldr     r3, [sp, #12]
-
-       @ If the return value pointer is NULL, assume no return value.
-       cmp     r2, #0
-       beq     LSYM(Lepilogue)
-
-@ return INT
-       cmp     r3, #FFI_TYPE_INT
-#if defined(__SOFTFP__) || defined(__ARM_EABI__)
-       cmpne   r3, #FFI_TYPE_FLOAT
-#endif
-       streq   r0, [r2]
-       beq     LSYM(Lepilogue)
-
-       @ return INT64
-       cmp     r3, #FFI_TYPE_SINT64
-#if defined(__SOFTFP__) || defined(__ARM_EABI__)
-       cmpne   r3, #FFI_TYPE_DOUBLE
-#endif
-       stmeqia r2, {r0, r1}
-
-#if !defined(__SOFTFP__) && !defined(__ARM_EABI__)
-       beq     LSYM(Lepilogue)
-
-@ return FLOAT
-       cmp     r3, #FFI_TYPE_FLOAT
-       stfeqs  f0, [r2]
-       beq     LSYM(Lepilogue)
-
-@ return DOUBLE or LONGDOUBLE
-       cmp     r3, #FFI_TYPE_DOUBLE
-       stfeqd  f0, [r2]
-#endif
-
-LSYM(Lepilogue):
-       RETLDM  "r0-r3,fp"
-
-.ffi_call_SYSV_end:
-       UNWIND .fnend
-        .size    CNAME(ffi_call_SYSV),.ffi_call_SYSV_end-CNAME(ffi_call_SYSV)
-
-
-/*
-       unsigned int FFI_HIDDEN
-       ffi_closure_SYSV_inner (closure, respp, args)
-            ffi_closure *closure;
-            void **respp;
-            void *args;
-*/
-
-ARM_FUNC_START ffi_closure_SYSV
-       UNWIND .pad #16
-       add     ip, sp, #16
-       stmfd   sp!, {ip, lr}
-       UNWIND .save    {r0, lr}
-       add     r2, sp, #8
-       UNWIND .pad #16
-       sub     sp, sp, #16
-       str     sp, [sp, #8]
-       add     r1, sp, #8
-       bl      ffi_closure_SYSV_inner
-       cmp     r0, #FFI_TYPE_INT
-       beq     .Lretint
-
-       cmp     r0, #FFI_TYPE_FLOAT
-#if defined(__SOFTFP__) || defined(__ARM_EABI__)
-       beq     .Lretint
-#else
-       beq     .Lretfloat
-#endif
-
-       cmp     r0, #FFI_TYPE_DOUBLE
-#if defined(__SOFTFP__) || defined(__ARM_EABI__)
-       beq     .Lretlonglong
-#else
-       beq     .Lretdouble
-#endif
-
-       cmp     r0, #FFI_TYPE_LONGDOUBLE
-#if defined(__SOFTFP__) || defined(__ARM_EABI__)
-       beq     .Lretlonglong
-#else
-       beq     .Lretlongdouble
-#endif
-
-       cmp     r0, #FFI_TYPE_SINT64
-       beq     .Lretlonglong
-.Lclosure_epilogue:
-       add     sp, sp, #16
-       ldmfd   sp, {sp, pc}
-.Lretint:
-       ldr     r0, [sp]
-       b       .Lclosure_epilogue
-.Lretlonglong:
-       ldr     r0, [sp]
-       ldr     r1, [sp, #4]
-       b       .Lclosure_epilogue
-
-#if !defined(__SOFTFP__) && !defined(__ARM_EABI__)
-.Lretfloat:
-       ldfs    f0, [sp]
-       b       .Lclosure_epilogue
-.Lretdouble:
-       ldfd    f0, [sp]
-       b       .Lclosure_epilogue
-.Lretlongdouble:
-       ldfd    f0, [sp]
-       b       .Lclosure_epilogue
-#endif
-
-.ffi_closure_SYSV_end:
-       UNWIND .fnend
-        .size    CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
-
-
-/* Below are VFP hard-float ABI call and closure implementations.
-   Add VFP FPU directive here. */
-       .fpu    vfp
-
-       @ r0:   fn
-       @ r1:   &ecif
-       @ r2:   cif->bytes
-       @ r3:   fig->flags
-       @ sp+0: ecif.rvalue
-
-ARM_FUNC_START ffi_call_VFP
-       @ Save registers
-        stmfd  sp!, {r0-r3, fp, lr}
-       UNWIND .save    {r0-r3, fp, lr}
-       mov     fp, sp
-       UNWIND .setfp   fp, sp
-
-       @ Make room for all of the new args.
-       sub     sp, sp, r2
-
-       @ Make room for loading VFP args
-       sub     sp, sp, #64
-
-       @ Place all of the ffi_prep_args in position
-       mov     r0, sp
-       @     r1 already set
-       sub     r2, fp, #64   @ VFP scratch space
-
-       @ Call ffi_prep_args(stack, &ecif, vfp_space)
-       bl      ffi_prep_args
-
-       @ Load VFP register args if needed
-       cmp     r0, #0
-       beq     LSYM(Lbase_args)
-
-       @ Load only d0 if possible
-       cmp     r0, #3
-       sub     ip, fp, #64
-       flddle  d0, [ip]
-       fldmiadgt       ip, {d0-d7}
-
-LSYM(Lbase_args):
-       @ move first 4 parameters in registers
-       ldmia   sp, {r0-r3}
-
-       @ and adjust stack
-       sub     lr, ip, sp      @ cif->bytes == (fp - 64) - sp
-       ldr     ip, [fp]        @ load fn() in advance
-        cmp    lr, #16
-       movhs   lr, #16
-        add    sp, sp, lr
-
-       @ call (fn) (...)
-       call_reg(ip)
-
-       @ Remove the space we pushed for the args
-       mov     sp, fp
-
-       @ Load r2 with the pointer to storage for
-       @ the return value
-       ldr     r2, [sp, #24]
-
-       @ Load r3 with the return type code 
-       ldr     r3, [sp, #12]
-
-       @ If the return value pointer is NULL,
-       @ assume no return value.
-       cmp     r2, #0
-       beq     LSYM(Lepilogue_vfp)
-       
-       cmp     r3, #FFI_TYPE_INT
-       streq   r0, [r2]
-       beq     LSYM(Lepilogue_vfp)
-
-       cmp     r3, #FFI_TYPE_SINT64
-       stmeqia r2, {r0, r1}
-       beq     LSYM(Lepilogue_vfp)
-
-       cmp     r3, #FFI_TYPE_FLOAT
-       fstseq  s0, [r2]
-       beq     LSYM(Lepilogue_vfp)
-       
-       cmp     r3, #FFI_TYPE_DOUBLE
-       fstdeq  d0, [r2]
-       beq     LSYM(Lepilogue_vfp)
-
-       cmp     r3, #FFI_TYPE_STRUCT_VFP_FLOAT
-       cmpne   r3, #FFI_TYPE_STRUCT_VFP_DOUBLE
-       fstmiadeq       r2, {d0-d3}
-
-LSYM(Lepilogue_vfp):
-       RETLDM  "r0-r3,fp"
-
-.ffi_call_VFP_end:
-       UNWIND .fnend
-        .size    CNAME(ffi_call_VFP),.ffi_call_VFP_end-CNAME(ffi_call_VFP)
-
-
-ARM_FUNC_START ffi_closure_VFP
-       fstmfdd sp!, {d0-d7}
-       @ r0-r3, then d0-d7
-       UNWIND .pad #80
-       add     ip, sp, #80
-       stmfd   sp!, {ip, lr}
-       UNWIND .save    {r0, lr}
-       add     r2, sp, #72
-       add     r3, sp, #8
-       UNWIND .pad #72
-       sub     sp, sp, #72
-       str     sp, [sp, #64]
-       add     r1, sp, #64
-       bl      ffi_closure_SYSV_inner
-
-       cmp     r0, #FFI_TYPE_INT
-       beq     .Lretint_vfp
-
-       cmp     r0, #FFI_TYPE_FLOAT
-       beq     .Lretfloat_vfp
-
-       cmp     r0, #FFI_TYPE_DOUBLE
-       cmpne   r0, #FFI_TYPE_LONGDOUBLE
-       beq     .Lretdouble_vfp
-
-       cmp     r0, #FFI_TYPE_SINT64
-       beq     .Lretlonglong_vfp
-
-       cmp     r0, #FFI_TYPE_STRUCT_VFP_FLOAT
-       beq     .Lretfloat_struct_vfp
-
-       cmp     r0, #FFI_TYPE_STRUCT_VFP_DOUBLE
-       beq     .Lretdouble_struct_vfp
-       
-.Lclosure_epilogue_vfp:
-       add     sp, sp, #72
-       ldmfd   sp, {sp, pc}
-
-.Lretfloat_vfp:
-       flds    s0, [sp]
-       b       .Lclosure_epilogue_vfp
-.Lretdouble_vfp:
-       fldd    d0, [sp]
-       b       .Lclosure_epilogue_vfp
-.Lretint_vfp:
-       ldr     r0, [sp]
-       b       .Lclosure_epilogue_vfp
-.Lretlonglong_vfp:
-       ldmia   sp, {r0, r1}
-       b       .Lclosure_epilogue_vfp
-.Lretfloat_struct_vfp:
-       fldmiad sp, {d0-d1}
-       b       .Lclosure_epilogue_vfp
-.Lretdouble_struct_vfp:
-       fldmiad sp, {d0-d3}
-       b       .Lclosure_epilogue_vfp
-
-.ffi_closure_VFP_end:
-       UNWIND .fnend
-        .size    CNAME(ffi_closure_VFP),.ffi_closure_VFP_end-CNAME(ffi_closure_VFP)
-
-ENTRY(ffi_arm_trampoline)
-       stmfd sp!, {r0-r3}
-       ldr r0, [pc]
-       ldr pc, [pc]
-
-#if defined __ELF__ && defined __linux__
-       .section        .note.GNU-stack,"",%progbits
-#endif
diff --git a/.pc/ios/src/closures.c b/.pc/ios/src/closures.c
deleted file mode 100644 (file)
index ff2b1bd..0000000
+++ /dev/null
@@ -1,610 +0,0 @@
-/* -----------------------------------------------------------------------
-   closures.c - Copyright (c) 2007  Red Hat, Inc.
-   Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc
-
-   Code to allocate and deallocate memory for closures.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#if defined __linux__ && !defined _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#ifndef FFI_MMAP_EXEC_WRIT
-# if __gnu_linux__
-/* This macro indicates it may be forbidden to map anonymous memory
-   with both write and execute permission.  Code compiled when this
-   option is defined will attempt to map such pages once, but if it
-   fails, it falls back to creating a temporary file in a writable and
-   executable filesystem and mapping pages from it into separate
-   locations in the virtual memory space, one location writable and
-   another executable.  */
-#  define FFI_MMAP_EXEC_WRIT 1
-#  define HAVE_MNTENT 1
-# endif
-# if defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)
-/* Windows systems may have Data Execution Protection (DEP) enabled, 
-   which requires the use of VirtualMalloc/VirtualFree to alloc/free
-   executable memory. */
-#  define FFI_MMAP_EXEC_WRIT 1
-# endif
-#endif
-
-#if FFI_MMAP_EXEC_WRIT && !defined FFI_MMAP_EXEC_SELINUX
-# ifdef __linux__
-/* When defined to 1 check for SELinux and if SELinux is active,
-   don't attempt PROT_EXEC|PROT_WRITE mapping at all, as that
-   might cause audit messages.  */
-#  define FFI_MMAP_EXEC_SELINUX 1
-# endif
-#endif
-
-#if FFI_CLOSURES
-
-# if FFI_MMAP_EXEC_WRIT
-
-#define USE_LOCKS 1
-#define USE_DL_PREFIX 1
-#ifdef __GNUC__
-#ifndef USE_BUILTIN_FFS
-#define USE_BUILTIN_FFS 1
-#endif
-#endif
-
-/* We need to use mmap, not sbrk.  */
-#define HAVE_MORECORE 0
-
-/* We could, in theory, support mremap, but it wouldn't buy us anything.  */
-#define HAVE_MREMAP 0
-
-/* We have no use for this, so save some code and data.  */
-#define NO_MALLINFO 1
-
-/* We need all allocations to be in regular segments, otherwise we
-   lose track of the corresponding code address.  */
-#define DEFAULT_MMAP_THRESHOLD MAX_SIZE_T
-
-/* Don't allocate more than a page unless needed.  */
-#define DEFAULT_GRANULARITY ((size_t)malloc_getpagesize)
-
-#if FFI_CLOSURE_TEST
-/* Don't release single pages, to avoid a worst-case scenario of
-   continuously allocating and releasing single pages, but release
-   pairs of pages, which should do just as well given that allocations
-   are likely to be small.  */
-#define DEFAULT_TRIM_THRESHOLD ((size_t)malloc_getpagesize)
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#ifndef _MSC_VER
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <stdio.h>
-#if !defined(X86_WIN32) && !defined(X86_WIN64)
-#ifdef HAVE_MNTENT
-#include <mntent.h>
-#endif /* HAVE_MNTENT */
-#include <sys/param.h>
-#include <pthread.h>
-
-/* We don't want sys/mman.h to be included after we redefine mmap and
-   dlmunmap.  */
-#include <sys/mman.h>
-#define LACKS_SYS_MMAN_H 1
-
-#if FFI_MMAP_EXEC_SELINUX
-#include <sys/statfs.h>
-#include <stdlib.h>
-
-static int selinux_enabled = -1;
-
-static int
-selinux_enabled_check (void)
-{
-  struct statfs sfs;
-  FILE *f;
-  char *buf = NULL;
-  size_t len = 0;
-
-  if (statfs ("/selinux", &sfs) >= 0
-      && (unsigned int) sfs.f_type == 0xf97cff8cU)
-    return 1;
-  f = fopen ("/proc/mounts", "r");
-  if (f == NULL)
-    return 0;
-  while (getline (&buf, &len, f) >= 0)
-    {
-      char *p = strchr (buf, ' ');
-      if (p == NULL)
-        break;
-      p = strchr (p + 1, ' ');
-      if (p == NULL)
-        break;
-      if (strncmp (p + 1, "selinuxfs ", 10) == 0)
-        {
-          free (buf);
-          fclose (f);
-          return 1;
-        }
-    }
-  free (buf);
-  fclose (f);
-  return 0;
-}
-
-#define is_selinux_enabled() (selinux_enabled >= 0 ? selinux_enabled \
-                             : (selinux_enabled = selinux_enabled_check ()))
-
-#else
-
-#define is_selinux_enabled() 0
-
-#endif /* !FFI_MMAP_EXEC_SELINUX */
-
-#elif defined (__CYGWIN__)
-
-#include <sys/mman.h>
-
-/* Cygwin is Linux-like, but not quite that Linux-like.  */
-#define is_selinux_enabled() 0
-
-#endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */
-
-/* Declare all functions defined in dlmalloc.c as static.  */
-static void *dlmalloc(size_t);
-static void dlfree(void*);
-static void *dlcalloc(size_t, size_t) MAYBE_UNUSED;
-static void *dlrealloc(void *, size_t) MAYBE_UNUSED;
-static void *dlmemalign(size_t, size_t) MAYBE_UNUSED;
-static void *dlvalloc(size_t) MAYBE_UNUSED;
-static int dlmallopt(int, int) MAYBE_UNUSED;
-static size_t dlmalloc_footprint(void) MAYBE_UNUSED;
-static size_t dlmalloc_max_footprint(void) MAYBE_UNUSED;
-static void** dlindependent_calloc(size_t, size_t, void**) MAYBE_UNUSED;
-static void** dlindependent_comalloc(size_t, size_t*, void**) MAYBE_UNUSED;
-static void *dlpvalloc(size_t) MAYBE_UNUSED;
-static int dlmalloc_trim(size_t) MAYBE_UNUSED;
-static size_t dlmalloc_usable_size(void*) MAYBE_UNUSED;
-static void dlmalloc_stats(void) MAYBE_UNUSED;
-
-#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__)
-/* Use these for mmap and munmap within dlmalloc.c.  */
-static void *dlmmap(void *, size_t, int, int, int, off_t);
-static int dlmunmap(void *, size_t);
-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) */
-
-#define mmap dlmmap
-#define munmap dlmunmap
-
-#include "dlmalloc.c"
-
-#undef mmap
-#undef munmap
-
-#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__)
-
-/* A mutex used to synchronize access to *exec* variables in this file.  */
-static pthread_mutex_t open_temp_exec_file_mutex = PTHREAD_MUTEX_INITIALIZER;
-
-/* A file descriptor of a temporary file from which we'll map
-   executable pages.  */
-static int execfd = -1;
-
-/* The amount of space already allocated from the temporary file.  */
-static size_t execsize = 0;
-
-/* Open a temporary file name, and immediately unlink it.  */
-static int
-open_temp_exec_file_name (char *name)
-{
-  int fd = mkstemp (name);
-
-  if (fd != -1)
-    unlink (name);
-
-  return fd;
-}
-
-/* Open a temporary file in the named directory.  */
-static int
-open_temp_exec_file_dir (const char *dir)
-{
-  static const char suffix[] = "/ffiXXXXXX";
-  int lendir = strlen (dir);
-  char *tempname = __builtin_alloca (lendir + sizeof (suffix));
-
-  if (!tempname)
-    return -1;
-
-  memcpy (tempname, dir, lendir);
-  memcpy (tempname + lendir, suffix, sizeof (suffix));
-
-  return open_temp_exec_file_name (tempname);
-}
-
-/* Open a temporary file in the directory in the named environment
-   variable.  */
-static int
-open_temp_exec_file_env (const char *envvar)
-{
-  const char *value = getenv (envvar);
-
-  if (!value)
-    return -1;
-
-  return open_temp_exec_file_dir (value);
-}
-
-#ifdef HAVE_MNTENT
-/* Open a temporary file in an executable and writable mount point
-   listed in the mounts file.  Subsequent calls with the same mounts
-   keep searching for mount points in the same file.  Providing NULL
-   as the mounts file closes the file.  */
-static int
-open_temp_exec_file_mnt (const char *mounts)
-{
-  static const char *last_mounts;
-  static FILE *last_mntent;
-
-  if (mounts != last_mounts)
-    {
-      if (last_mntent)
-       endmntent (last_mntent);
-
-      last_mounts = mounts;
-
-      if (mounts)
-       last_mntent = setmntent (mounts, "r");
-      else
-       last_mntent = NULL;
-    }
-
-  if (!last_mntent)
-    return -1;
-
-  for (;;)
-    {
-      int fd;
-      struct mntent mnt;
-      char buf[MAXPATHLEN * 3];
-
-      if (getmntent_r (last_mntent, &mnt, buf, sizeof (buf)) == NULL)
-       return -1;
-
-      if (hasmntopt (&mnt, "ro")
-         || hasmntopt (&mnt, "noexec")
-         || access (mnt.mnt_dir, W_OK))
-       continue;
-
-      fd = open_temp_exec_file_dir (mnt.mnt_dir);
-
-      if (fd != -1)
-       return fd;
-    }
-}
-#endif /* HAVE_MNTENT */
-
-/* Instructions to look for a location to hold a temporary file that
-   can be mapped in for execution.  */
-static struct
-{
-  int (*func)(const char *);
-  const char *arg;
-  int repeat;
-} open_temp_exec_file_opts[] = {
-  { open_temp_exec_file_env, "TMPDIR", 0 },
-  { open_temp_exec_file_dir, "/tmp", 0 },
-  { open_temp_exec_file_dir, "/var/tmp", 0 },
-  { open_temp_exec_file_dir, "/dev/shm", 0 },
-  { open_temp_exec_file_env, "HOME", 0 },
-#ifdef HAVE_MNTENT
-  { open_temp_exec_file_mnt, "/etc/mtab", 1 },
-  { open_temp_exec_file_mnt, "/proc/mounts", 1 },
-#endif /* HAVE_MNTENT */
-};
-
-/* Current index into open_temp_exec_file_opts.  */
-static int open_temp_exec_file_opts_idx = 0;
-
-/* Reset a current multi-call func, then advances to the next entry.
-   If we're at the last, go back to the first and return nonzero,
-   otherwise return zero.  */
-static int
-open_temp_exec_file_opts_next (void)
-{
-  if (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
-    open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func (NULL);
-
-  open_temp_exec_file_opts_idx++;
-  if (open_temp_exec_file_opts_idx
-      == (sizeof (open_temp_exec_file_opts)
-         / sizeof (*open_temp_exec_file_opts)))
-    {
-      open_temp_exec_file_opts_idx = 0;
-      return 1;
-    }
-
-  return 0;
-}
-
-/* Return a file descriptor of a temporary zero-sized file in a
-   writable and exexutable filesystem.  */
-static int
-open_temp_exec_file (void)
-{
-  int fd;
-
-  do
-    {
-      fd = open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func
-       (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].arg);
-
-      if (!open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat
-         || fd == -1)
-       {
-         if (open_temp_exec_file_opts_next ())
-           break;
-       }
-    }
-  while (fd == -1);
-
-  return fd;
-}
-
-/* Map in a chunk of memory from the temporary exec file into separate
-   locations in the virtual memory address space, one writable and one
-   executable.  Returns the address of the writable portion, after
-   storing an offset to the corresponding executable portion at the
-   last word of the requested chunk.  */
-static void *
-dlmmap_locked (void *start, size_t length, int prot, int flags, off_t offset)
-{
-  void *ptr;
-
-  if (execfd == -1)
-    {
-      open_temp_exec_file_opts_idx = 0;
-    retry_open:
-      execfd = open_temp_exec_file ();
-      if (execfd == -1)
-       return MFAIL;
-    }
-
-  offset = execsize;
-
-  if (ftruncate (execfd, offset + length))
-    return MFAIL;
-
-  flags &= ~(MAP_PRIVATE | MAP_ANONYMOUS);
-  flags |= MAP_SHARED;
-
-  ptr = mmap (NULL, length, (prot & ~PROT_WRITE) | PROT_EXEC,
-             flags, execfd, offset);
-  if (ptr == MFAIL)
-    {
-      if (!offset)
-       {
-         close (execfd);
-         goto retry_open;
-       }
-      ftruncate (execfd, offset);
-      return MFAIL;
-    }
-  else if (!offset
-          && open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
-    open_temp_exec_file_opts_next ();
-
-  start = mmap (start, length, prot, flags, execfd, offset);
-
-  if (start == MFAIL)
-    {
-      munmap (ptr, length);
-      ftruncate (execfd, offset);
-      return start;
-    }
-
-  mmap_exec_offset ((char *)start, length) = (char*)ptr - (char*)start;
-
-  execsize += length;
-
-  return start;
-}
-
-/* Map in a writable and executable chunk of memory if possible.
-   Failing that, fall back to dlmmap_locked.  */
-static void *
-dlmmap (void *start, size_t length, int prot,
-       int flags, int fd, off_t offset)
-{
-  void *ptr;
-
-  assert (start == NULL && length % malloc_getpagesize == 0
-         && prot == (PROT_READ | PROT_WRITE)
-         && flags == (MAP_PRIVATE | MAP_ANONYMOUS)
-         && fd == -1 && offset == 0);
-
-#if FFI_CLOSURE_TEST
-  printf ("mapping in %zi\n", length);
-#endif
-
-  if (execfd == -1 && !is_selinux_enabled ())
-    {
-      ptr = mmap (start, length, prot | PROT_EXEC, flags, fd, offset);
-
-      if (ptr != MFAIL || (errno != EPERM && errno != EACCES))
-       /* Cool, no need to mess with separate segments.  */
-       return ptr;
-
-      /* If MREMAP_DUP is ever introduced and implemented, try mmap
-        with ((prot & ~PROT_WRITE) | PROT_EXEC) and mremap with
-        MREMAP_DUP and prot at this point.  */
-    }
-
-  if (execsize == 0 || execfd == -1)
-    {
-      pthread_mutex_lock (&open_temp_exec_file_mutex);
-      ptr = dlmmap_locked (start, length, prot, flags, offset);
-      pthread_mutex_unlock (&open_temp_exec_file_mutex);
-
-      return ptr;
-    }
-
-  return dlmmap_locked (start, length, prot, flags, offset);
-}
-
-/* Release memory at the given address, as well as the corresponding
-   executable page if it's separate.  */
-static int
-dlmunmap (void *start, size_t length)
-{
-  /* We don't bother decreasing execsize or truncating the file, since
-     we can't quite tell whether we're unmapping the end of the file.
-     We don't expect frequent deallocation anyway.  If we did, we
-     could locate pages in the file by writing to the pages being
-     deallocated and checking that the file contents change.
-     Yuck.  */
-  msegmentptr seg = segment_holding (gm, start);
-  void *code;
-
-#if FFI_CLOSURE_TEST
-  printf ("unmapping %zi\n", length);
-#endif
-
-  if (seg && (code = add_segment_exec_offset (start, seg)) != start)
-    {
-      int ret = munmap (code, length);
-      if (ret)
-       return ret;
-    }
-
-  return munmap (start, length);
-}
-
-#if FFI_CLOSURE_FREE_CODE
-/* Return segment holding given code address.  */
-static msegmentptr
-segment_holding_code (mstate m, char* addr)
-{
-  msegmentptr sp = &m->seg;
-  for (;;) {
-    if (addr >= add_segment_exec_offset (sp->base, sp)
-       && addr < add_segment_exec_offset (sp->base, sp) + sp->size)
-      return sp;
-    if ((sp = sp->next) == 0)
-      return 0;
-  }
-}
-#endif
-
-#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) */
-
-/* Allocate a chunk of memory with the given size.  Returns a pointer
-   to the writable address, and sets *CODE to the executable
-   corresponding virtual address.  */
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
-  void *ptr;
-
-  if (!code)
-    return NULL;
-
-  ptr = dlmalloc (size);
-
-  if (ptr)
-    {
-      msegmentptr seg = segment_holding (gm, ptr);
-
-      *code = add_segment_exec_offset (ptr, seg);
-    }
-
-  return ptr;
-}
-
-/* Release a chunk of memory allocated with ffi_closure_alloc.  If
-   FFI_CLOSURE_FREE_CODE is nonzero, the given address can be the
-   writable or the executable address given.  Otherwise, only the
-   writable address can be provided here.  */
-void
-ffi_closure_free (void *ptr)
-{
-#if FFI_CLOSURE_FREE_CODE
-  msegmentptr seg = segment_holding_code (gm, ptr);
-
-  if (seg)
-    ptr = sub_segment_exec_offset (ptr, seg);
-#endif
-
-  dlfree (ptr);
-}
-
-
-#if FFI_CLOSURE_TEST
-/* Do some internal sanity testing to make sure allocation and
-   deallocation of pages are working as intended.  */
-int main ()
-{
-  void *p[3];
-#define GET(idx, len) do { p[idx] = dlmalloc (len); printf ("allocated %zi for p[%i]\n", (len), (idx)); } while (0)
-#define PUT(idx) do { printf ("freeing p[%i]\n", (idx)); dlfree (p[idx]); } while (0)
-  GET (0, malloc_getpagesize / 2);
-  GET (1, 2 * malloc_getpagesize - 64 * sizeof (void*));
-  PUT (1);
-  GET (1, 2 * malloc_getpagesize);
-  GET (2, malloc_getpagesize / 2);
-  PUT (1);
-  PUT (0);
-  PUT (2);
-  return 0;
-}
-#endif /* FFI_CLOSURE_TEST */
-# else /* ! FFI_MMAP_EXEC_WRIT */
-
-/* On many systems, memory returned by malloc is writable and
-   executable, so just use it.  */
-
-#include <stdlib.h>
-
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
-  if (!code)
-    return NULL;
-
-  return *code = malloc (size);
-}
-
-void
-ffi_closure_free (void *ptr)
-{
-  free (ptr);
-}
-
-# endif /* ! FFI_MMAP_EXEC_WRIT */
-#endif /* FFI_CLOSURES */
diff --git a/.pc/irix/.timestamp b/.pc/irix/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/irix/ChangeLog b/.pc/irix/ChangeLog
deleted file mode 100644 (file)
index 5d13a51..0000000
+++ /dev/null
@@ -1,4628 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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@macports.org>
-
-       * 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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/irix/include/ffi.h.in b/.pc/irix/include/ffi.h.in
deleted file mode 100644 (file)
index 92b033f..0000000
+++ /dev/null
@@ -1,421 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   libffi @VERSION@ - Copyright (c) 2011 Anthony Green
-                    - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc.
-
-   Permission is hereby granted, free of charge, to any person
-   obtaining a copy of this software and associated documentation
-   files (the ``Software''), to deal in the Software without
-   restriction, including without limitation the rights to use, copy,
-   modify, merge, publish, distribute, sublicense, and/or sell copies
-   of the Software, and to permit persons to whom the Software is
-   furnished to do so, subject to the following conditions:
-
-   The above copyright notice and this permission notice shall be
-   included in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-/* -------------------------------------------------------------------
-   The basic API is described in the README file.
-
-   The raw API is designed to bypass some of the argument packing
-   and unpacking on architectures for which it can be avoided.
-
-   The closure API allows interpreted functions to be packaged up
-   inside a C function pointer, so that they can be called as C functions,
-   with no understanding on the client side that they are interpreted.
-   It can also be used in other cases in which it is necessary to package
-   up a user specified parameter and a function pointer as a single
-   function pointer.
-
-   The closure API must be implemented in order to get its functionality,
-   e.g. for use by gij.  Routines are provided to emulate the raw API
-   if the underlying platform doesn't allow faster implementation.
-
-   More details on the raw and cloure API can be found in:
-
-   http://gcc.gnu.org/ml/java/1999-q3/msg00138.html
-
-   and
-
-   http://gcc.gnu.org/ml/java/1999-q3/msg00174.html
-   -------------------------------------------------------------------- */
-
-#ifndef LIBFFI_H
-#define LIBFFI_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Specify which architecture libffi is configured for. */
-#ifndef @TARGET@
-#define @TARGET@
-#endif
-
-/* ---- System configuration information --------------------------------- */
-
-#include <ffitarget.h>
-
-#ifndef LIBFFI_ASM
-
-#ifdef _MSC_VER
-#define __attribute__(X)
-#endif
-
-#include <stddef.h>
-#include <limits.h>
-
-/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example).
-   But we can find it either under the correct ANSI name, or under GNU
-   C's internal name.  */
-
-#define FFI_64_BIT_MAX 9223372036854775807
-
-#ifdef LONG_LONG_MAX
-# define FFI_LONG_LONG_MAX LONG_LONG_MAX
-#else
-# ifdef LLONG_MAX
-#  define FFI_LONG_LONG_MAX LLONG_MAX
-#  ifdef _AIX52 /* or newer has C99 LLONG_MAX */
-#   undef FFI_64_BIT_MAX
-#   define FFI_64_BIT_MAX 9223372036854775807LL
-#  endif /* _AIX52 or newer */
-# else
-#  ifdef __GNUC__
-#   define FFI_LONG_LONG_MAX __LONG_LONG_MAX__
-#  endif
-#  ifdef _AIX /* AIX 5.1 and earlier have LONGLONG_MAX */
-#   ifndef __PPC64__
-#    if defined (__IBMC__) || defined (__IBMCPP__)
-#     define FFI_LONG_LONG_MAX LONGLONG_MAX
-#    endif
-#   endif /* __PPC64__ */
-#   undef  FFI_64_BIT_MAX
-#   define FFI_64_BIT_MAX 9223372036854775807LL
-#  endif
-# endif
-#endif
-
-/* The closure code assumes that this works on pointers, i.e. a size_t */
-/* can hold a pointer.                                                 */
-
-typedef struct _ffi_type
-{
-  size_t size;
-  unsigned short alignment;
-  unsigned short type;
-  struct _ffi_type **elements;
-} ffi_type;
-
-#ifndef LIBFFI_HIDE_BASIC_TYPES
-#if SCHAR_MAX == 127
-# define ffi_type_uchar                ffi_type_uint8
-# define ffi_type_schar                ffi_type_sint8
-#else
- #error "char size not supported"
-#endif
-
-#if SHRT_MAX == 32767
-# define ffi_type_ushort       ffi_type_uint16
-# define ffi_type_sshort       ffi_type_sint16
-#elif SHRT_MAX == 2147483647
-# define ffi_type_ushort       ffi_type_uint32
-# define ffi_type_sshort       ffi_type_sint32
-#else
- #error "short size not supported"
-#endif
-
-#if INT_MAX == 32767
-# define ffi_type_uint         ffi_type_uint16
-# define ffi_type_sint         ffi_type_sint16
-#elif INT_MAX == 2147483647
-# define ffi_type_uint         ffi_type_uint32
-# define ffi_type_sint         ffi_type_sint32
-#elif INT_MAX == 9223372036854775807
-# define ffi_type_uint         ffi_type_uint64
-# define ffi_type_sint         ffi_type_sint64
-#else
- #error "int size not supported"
-#endif
-
-#if LONG_MAX == 2147483647
-# if FFI_LONG_LONG_MAX != FFI_64_BIT_MAX
- #error "no 64-bit data type supported"
-# endif
-#elif LONG_MAX != FFI_64_BIT_MAX
- #error "long size not supported"
-#endif
-
-#if LONG_MAX == 2147483647
-# define ffi_type_ulong        ffi_type_uint32
-# define ffi_type_slong        ffi_type_sint32
-#elif LONG_MAX == FFI_64_BIT_MAX
-# define ffi_type_ulong        ffi_type_uint64
-# define ffi_type_slong        ffi_type_sint64
-#else
- #error "long size not supported"
-#endif
-
-/* These are defined in types.c */
-extern ffi_type ffi_type_void;
-extern ffi_type ffi_type_uint8;
-extern ffi_type ffi_type_sint8;
-extern ffi_type ffi_type_uint16;
-extern ffi_type ffi_type_sint16;
-extern ffi_type ffi_type_uint32;
-extern ffi_type ffi_type_sint32;
-extern ffi_type ffi_type_uint64;
-extern ffi_type ffi_type_sint64;
-extern ffi_type ffi_type_float;
-extern ffi_type ffi_type_double;
-extern ffi_type ffi_type_pointer;
-
-#if @HAVE_LONG_DOUBLE@
-extern ffi_type ffi_type_longdouble;
-#else
-#define ffi_type_longdouble ffi_type_double
-#endif
-#endif /* LIBFFI_HIDE_BASIC_TYPES */
-
-typedef enum {
-  FFI_OK = 0,
-  FFI_BAD_TYPEDEF,
-  FFI_BAD_ABI
-} ffi_status;
-
-typedef unsigned FFI_TYPE;
-
-typedef struct {
-  ffi_abi abi;
-  unsigned nargs;
-  ffi_type **arg_types;
-  ffi_type *rtype;
-  unsigned bytes;
-  unsigned flags;
-#ifdef FFI_EXTRA_CIF_FIELDS
-  FFI_EXTRA_CIF_FIELDS;
-#endif
-} ffi_cif;
-
-/* ---- Definitions for the raw API -------------------------------------- */
-
-#ifndef FFI_SIZEOF_ARG
-# if LONG_MAX == 2147483647
-#  define FFI_SIZEOF_ARG        4
-# elif LONG_MAX == FFI_64_BIT_MAX
-#  define FFI_SIZEOF_ARG        8
-# endif
-#endif
-
-#ifndef FFI_SIZEOF_JAVA_RAW
-#  define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG
-#endif
-
-typedef union {
-  ffi_sarg  sint;
-  ffi_arg   uint;
-  float            flt;
-  char      data[FFI_SIZEOF_ARG];
-  void*     ptr;
-} ffi_raw;
-
-#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8
-/* This is a special case for mips64/n32 ABI (and perhaps others) where
-   sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8.  */
-typedef union {
-  signed int   sint;
-  unsigned int uint;
-  float                flt;
-  char         data[FFI_SIZEOF_JAVA_RAW];
-  void*                ptr;
-} ffi_java_raw;
-#else
-typedef ffi_raw ffi_java_raw;
-#endif
-
-
-void ffi_raw_call (ffi_cif *cif,
-                  void (*fn)(void),
-                  void *rvalue,
-                  ffi_raw *avalue);
-
-void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
-void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
-size_t ffi_raw_size (ffi_cif *cif);
-
-/* This is analogous to the raw API, except it uses Java parameter     */
-/* packing, even on 64-bit machines.  I.e. on 64-bit machines          */
-/* longs and doubles are followed by an empty 64-bit word.             */
-
-void ffi_java_raw_call (ffi_cif *cif,
-                       void (*fn)(void),
-                       void *rvalue,
-                       ffi_java_raw *avalue);
-
-void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw);
-void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args);
-size_t ffi_java_raw_size (ffi_cif *cif);
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if FFI_CLOSURES
-
-#ifdef _MSC_VER
-__declspec(align(8))
-#endif
-typedef struct {
-  char tramp[FFI_TRAMPOLINE_SIZE];
-  ffi_cif   *cif;
-  void     (*fun)(ffi_cif*,void*,void**,void*);
-  void      *user_data;
-#ifdef __GNUC__
-} ffi_closure __attribute__((aligned (8)));
-#else
-} ffi_closure;
-#endif
-
-void *ffi_closure_alloc (size_t size, void **code);
-void ffi_closure_free (void *);
-
-ffi_status
-ffi_prep_closure (ffi_closure*,
-                 ffi_cif *,
-                 void (*fun)(ffi_cif*,void*,void**,void*),
-                 void *user_data);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure*,
-                     ffi_cif *,
-                     void (*fun)(ffi_cif*,void*,void**,void*),
-                     void *user_data,
-                     void*codeloc);
-
-typedef struct {
-  char tramp[FFI_TRAMPOLINE_SIZE];
-
-  ffi_cif   *cif;
-
-#if !FFI_NATIVE_RAW_API
-
-  /* if this is enabled, then a raw closure has the same layout 
-     as a regular closure.  We use this to install an intermediate 
-     handler to do the transaltion, void** -> ffi_raw*. */
-
-  void     (*translate_args)(ffi_cif*,void*,void**,void*);
-  void      *this_closure;
-
-#endif
-
-  void     (*fun)(ffi_cif*,void*,ffi_raw*,void*);
-  void      *user_data;
-
-} ffi_raw_closure;
-
-typedef struct {
-  char tramp[FFI_TRAMPOLINE_SIZE];
-
-  ffi_cif   *cif;
-
-#if !FFI_NATIVE_RAW_API
-
-  /* if this is enabled, then a raw closure has the same layout 
-     as a regular closure.  We use this to install an intermediate 
-     handler to do the transaltion, void** -> ffi_raw*. */
-
-  void     (*translate_args)(ffi_cif*,void*,void**,void*);
-  void      *this_closure;
-
-#endif
-
-  void     (*fun)(ffi_cif*,void*,ffi_java_raw*,void*);
-  void      *user_data;
-
-} ffi_java_raw_closure;
-
-ffi_status
-ffi_prep_raw_closure (ffi_raw_closure*,
-                     ffi_cif *cif,
-                     void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
-                     void *user_data);
-
-ffi_status
-ffi_prep_raw_closure_loc (ffi_raw_closure*,
-                         ffi_cif *cif,
-                         void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
-                         void *user_data,
-                         void *codeloc);
-
-ffi_status
-ffi_prep_java_raw_closure (ffi_java_raw_closure*,
-                          ffi_cif *cif,
-                          void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
-                          void *user_data);
-
-ffi_status
-ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*,
-                              ffi_cif *cif,
-                              void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
-                              void *user_data,
-                              void *codeloc);
-
-#endif /* FFI_CLOSURES */
-
-/* ---- Public interface definition -------------------------------------- */
-
-ffi_status ffi_prep_cif(ffi_cif *cif,
-                       ffi_abi abi,
-                       unsigned int nargs,
-                       ffi_type *rtype,
-                       ffi_type **atypes);
-
-void ffi_call(ffi_cif *cif,
-             void (*fn)(void),
-             void *rvalue,
-             void **avalue);
-
-/* Useful for eliminating compiler warnings */
-#define FFI_FN(f) ((void (*)(void))f)
-
-/* ---- Definitions shared with assembly code ---------------------------- */
-
-#endif
-
-/* If these change, update src/mips/ffitarget.h. */
-#define FFI_TYPE_VOID       0    
-#define FFI_TYPE_INT        1
-#define FFI_TYPE_FLOAT      2    
-#define FFI_TYPE_DOUBLE     3
-#if @HAVE_LONG_DOUBLE@
-#define FFI_TYPE_LONGDOUBLE 4
-#else
-#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE
-#endif
-#define FFI_TYPE_UINT8      5   
-#define FFI_TYPE_SINT8      6
-#define FFI_TYPE_UINT16     7 
-#define FFI_TYPE_SINT16     8
-#define FFI_TYPE_UINT32     9
-#define FFI_TYPE_SINT32     10
-#define FFI_TYPE_UINT64     11
-#define FFI_TYPE_SINT64     12
-#define FFI_TYPE_STRUCT     13
-#define FFI_TYPE_POINTER    14
-
-/* This should always refer to the last type code (for sanity checks) */
-#define FFI_TYPE_LAST       FFI_TYPE_POINTER
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/.pc/irix/src/java_raw_api.c b/.pc/irix/src/java_raw_api.c
deleted file mode 100644 (file)
index 9c5383e..0000000
+++ /dev/null
@@ -1,356 +0,0 @@
-/* -----------------------------------------------------------------------
-   java_raw_api.c - Copyright (c) 1999, 2007, 2008  Red Hat, Inc.
-
-   Cloned from raw_api.c
-
-   Raw_api.c author: Kresten Krab Thorup <krab@gnu.org>
-   Java_raw_api.c author: Hans-J. Boehm <hboehm@hpl.hp.com>
-
-   $Id $
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-/* This defines a Java- and 64-bit specific variant of the raw API.    */
-/* It assumes that "raw" argument blocks look like Java stacks on a    */
-/* 64-bit machine.  Arguments that can be stored in a single stack     */
-/* stack slots (longs, doubles) occupy 128 bits, but only the first    */
-/* 64 bits are actually used.                                          */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-#if !defined(NO_JAVA_RAW_API) && !defined(FFI_NO_RAW_API)
-
-size_t
-ffi_java_raw_size (ffi_cif *cif)
-{
-  size_t result = 0;
-  int i;
-
-  ffi_type **at = cif->arg_types;
-
-  for (i = cif->nargs-1; i >= 0; i--, at++)
-    {
-      switch((*at) -> type) {
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_DOUBLE:
-         result += 2 * FFI_SIZEOF_JAVA_RAW;
-         break;
-       case FFI_TYPE_STRUCT:
-         /* No structure parameters in Java.   */
-         abort();
-       default:
-         result += FFI_SIZEOF_JAVA_RAW;
-      }
-    }
-
-  return result;
-}
-
-
-void
-ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args)
-{
-  unsigned i;
-  ffi_type **tp = cif->arg_types;
-
-#if WORDS_BIGENDIAN
-
-  for (i = 0; i < cif->nargs; i++, tp++, args++)
-    {
-      switch ((*tp)->type)
-       {
-       case FFI_TYPE_UINT8:
-       case FFI_TYPE_SINT8:
-         *args = (void*) ((char*)(raw++) + 3);
-         break;
-
-       case FFI_TYPE_UINT16:
-       case FFI_TYPE_SINT16:
-         *args = (void*) ((char*)(raw++) + 2);
-         break;
-
-#if FFI_SIZEOF_JAVA_RAW == 8
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_DOUBLE:
-         *args = (void *)raw;
-         raw += 2;
-         break;
-#endif
-
-       case FFI_TYPE_POINTER:
-         *args = (void*) &(raw++)->ptr;
-         break;
-
-       default:
-         *args = raw;
-         raw +=
-           ALIGN ((*tp)->size, sizeof(ffi_java_raw)) / sizeof(ffi_java_raw);
-       }
-    }
-
-#else /* WORDS_BIGENDIAN */
-
-#if !PDP
-
-  /* then assume little endian */
-  for (i = 0; i < cif->nargs; i++, tp++, args++)
-    {
-#if FFI_SIZEOF_JAVA_RAW == 8
-      switch((*tp)->type) {
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_DOUBLE:
-         *args = (void*) raw;
-         raw += 2;
-         break;
-       default:
-         *args = (void*) raw++;
-      }
-#else /* FFI_SIZEOF_JAVA_RAW != 8 */
-       *args = (void*) raw;
-       raw +=
-         ALIGN ((*tp)->size, sizeof(ffi_java_raw)) / sizeof(ffi_java_raw);
-#endif /* FFI_SIZEOF_JAVA_RAW == 8 */
-    }
-
-#else
-#error "pdp endian not supported"
-#endif /* ! PDP */
-
-#endif /* WORDS_BIGENDIAN */
-}
-
-void
-ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw)
-{
-  unsigned i;
-  ffi_type **tp = cif->arg_types;
-
-  for (i = 0; i < cif->nargs; i++, tp++, args++)
-    {
-      switch ((*tp)->type)
-       {
-       case FFI_TYPE_UINT8:
-#if WORDS_BIGENDIAN
-         *(UINT32*)(raw++) = *(UINT8*) (*args);
-#else
-         (raw++)->uint = *(UINT8*) (*args);
-#endif
-         break;
-
-       case FFI_TYPE_SINT8:
-#if WORDS_BIGENDIAN
-         *(SINT32*)(raw++) = *(SINT8*) (*args);
-#else
-         (raw++)->sint = *(SINT8*) (*args);
-#endif
-         break;
-
-       case FFI_TYPE_UINT16:
-#if WORDS_BIGENDIAN
-         *(UINT32*)(raw++) = *(UINT16*) (*args);
-#else
-         (raw++)->uint = *(UINT16*) (*args);
-#endif
-         break;
-
-       case FFI_TYPE_SINT16:
-#if WORDS_BIGENDIAN
-         *(SINT32*)(raw++) = *(SINT16*) (*args);
-#else
-         (raw++)->sint = *(SINT16*) (*args);
-#endif
-         break;
-
-       case FFI_TYPE_UINT32:
-#if WORDS_BIGENDIAN
-         *(UINT32*)(raw++) = *(UINT32*) (*args);
-#else
-         (raw++)->uint = *(UINT32*) (*args);
-#endif
-         break;
-
-       case FFI_TYPE_SINT32:
-#if WORDS_BIGENDIAN
-         *(SINT32*)(raw++) = *(SINT32*) (*args);
-#else
-         (raw++)->sint = *(SINT32*) (*args);
-#endif
-         break;
-
-       case FFI_TYPE_FLOAT:
-         (raw++)->flt = *(FLOAT32*) (*args);
-         break;
-
-#if FFI_SIZEOF_JAVA_RAW == 8
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_DOUBLE:
-         raw->uint = *(UINT64*) (*args);
-         raw += 2;
-         break;
-#endif
-
-       case FFI_TYPE_POINTER:
-         (raw++)->ptr = **(void***) args;
-         break;
-
-       default:
-#if FFI_SIZEOF_JAVA_RAW == 8
-         FFI_ASSERT(0);        /* Should have covered all cases */
-#else
-         memcpy ((void*) raw->data, (void*)*args, (*tp)->size);
-         raw +=
-           ALIGN ((*tp)->size, sizeof(ffi_java_raw)) / sizeof(ffi_java_raw);
-#endif
-       }
-    }
-}
-
-#if !FFI_NATIVE_RAW_API
-
-static void
-ffi_java_rvalue_to_raw (ffi_cif *cif, void *rvalue)
-{
-#if WORDS_BIGENDIAN && FFI_SIZEOF_ARG == 8
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_UINT8:
-    case FFI_TYPE_UINT16:
-    case FFI_TYPE_UINT32:
-      *(UINT64 *)rvalue <<= 32;
-      break;
-
-    case FFI_TYPE_SINT8:
-    case FFI_TYPE_SINT16:
-    case FFI_TYPE_SINT32:
-    case FFI_TYPE_INT:
-#if FFI_SIZEOF_JAVA_RAW == 4
-    case FFI_TYPE_POINTER:
-#endif
-      *(SINT64 *)rvalue <<= 32;
-      break;
-
-    default:
-      break;
-    }
-#endif
-}
-
-static void
-ffi_java_raw_to_rvalue (ffi_cif *cif, void *rvalue)
-{
-#if WORDS_BIGENDIAN && FFI_SIZEOF_ARG == 8
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_UINT8:
-    case FFI_TYPE_UINT16:
-    case FFI_TYPE_UINT32:
-      *(UINT64 *)rvalue >>= 32;
-      break;
-
-    case FFI_TYPE_SINT8:
-    case FFI_TYPE_SINT16:
-    case FFI_TYPE_SINT32:
-    case FFI_TYPE_INT:
-      *(SINT64 *)rvalue >>= 32;
-      break;
-
-    default:
-      break;
-    }
-#endif
-}
-
-/* This is a generic definition of ffi_raw_call, to be used if the
- * native system does not provide a machine-specific implementation.
- * Having this, allows code to be written for the raw API, without
- * the need for system-specific code to handle input in that format;
- * these following couple of functions will handle the translation forth
- * and back automatically. */
-
-void ffi_java_raw_call (ffi_cif *cif, void (*fn)(void), void *rvalue,
-                       ffi_java_raw *raw)
-{
-  void **avalue = (void**) alloca (cif->nargs * sizeof (void*));
-  ffi_java_raw_to_ptrarray (cif, raw, avalue);
-  ffi_call (cif, fn, rvalue, avalue);
-  ffi_java_rvalue_to_raw (cif, rvalue);
-}
-
-#if FFI_CLOSURES               /* base system provides closures */
-
-static void
-ffi_java_translate_args (ffi_cif *cif, void *rvalue,
-                   void **avalue, void *user_data)
-{
-  ffi_java_raw *raw = (ffi_java_raw*)alloca (ffi_java_raw_size (cif));
-  ffi_raw_closure *cl = (ffi_raw_closure*)user_data;
-
-  ffi_java_ptrarray_to_raw (cif, avalue, raw);
-  (*cl->fun) (cif, rvalue, raw, cl->user_data);
-  ffi_java_raw_to_rvalue (cif, rvalue);
-}
-
-ffi_status
-ffi_prep_java_raw_closure_loc (ffi_java_raw_closure* cl,
-                              ffi_cif *cif,
-                              void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
-                              void *user_data,
-                              void *codeloc)
-{
-  ffi_status status;
-
-  status = ffi_prep_closure_loc ((ffi_closure*) cl,
-                                cif,
-                                &ffi_java_translate_args,
-                                codeloc,
-                                codeloc);
-  if (status == FFI_OK)
-    {
-      cl->fun       = fun;
-      cl->user_data = user_data;
-    }
-
-  return status;
-}
-
-/* Again, here is the generic version of ffi_prep_raw_closure, which
- * will install an intermediate "hub" for translation of arguments from
- * the pointer-array format, to the raw format */
-
-ffi_status
-ffi_prep_java_raw_closure (ffi_java_raw_closure* cl,
-                          ffi_cif *cif,
-                          void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
-                          void *user_data)
-{
-  return ffi_prep_java_raw_closure_loc (cl, cif, fun, user_data, cl);
-}
-
-#endif /* FFI_CLOSURES */
-#endif /* !FFI_NATIVE_RAW_API */
-#endif /* !FFI_NO_RAW_API */
diff --git a/.pc/irix/src/mips/ffitarget.h b/.pc/irix/src/mips/ffitarget.h
deleted file mode 100644 (file)
index 4c247b8..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for MIPS.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifdef linux
-# include <asm/sgidefs.h>
-#elif defined(__rtems__)
-/*
- * Subprogram calling convention - copied from sgidefs.h
- */
-#define _MIPS_SIM_ABI32                1
-#define _MIPS_SIM_NABI32       2
-#define _MIPS_SIM_ABI64                3
-#else
-# include <sgidefs.h>
-#endif
-
-#  ifndef _ABIN32
-#    define _ABIN32 _MIPS_SIM_NABI32
-#  endif
-#  ifndef _ABI64
-#    define _ABI64 _MIPS_SIM_ABI64
-#  endif
-#  ifndef _ABIO32
-#    define _ABIO32 _MIPS_SIM_ABI32
-#  endif
-
-#if !defined(_MIPS_SIM)
--- something is very wrong --
-#else
-#  if (_MIPS_SIM==_ABIN32 && defined(_ABIN32)) || (_MIPS_SIM==_ABI64 && defined(_ABI64))
-#    define FFI_MIPS_N32
-#  else
-#    if (_MIPS_SIM==_ABIO32 && defined(_ABIO32))
-#      define FFI_MIPS_O32
-#    else
--- this is an unsupported platform --
-#    endif
-#  endif
-#endif
-
-#ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-#  define FFI_SIZEOF_ARG    4
-#else
-/* N32 and N64 frames have 64bit integer args */
-#  define FFI_SIZEOF_ARG    8
-#  if _MIPS_SIM == _ABIN32
-#    define FFI_SIZEOF_JAVA_RAW  4
-#  endif
-#endif
-
-#define FFI_FLAG_BITS 2
-
-/* SGI's strange assembler requires that we multiply by 4 rather 
-   than shift left by FFI_FLAG_BITS */
-
-#define FFI_ARGS_D   FFI_TYPE_DOUBLE
-#define FFI_ARGS_F   FFI_TYPE_FLOAT
-#define FFI_ARGS_DD  FFI_TYPE_DOUBLE * 4 + FFI_TYPE_DOUBLE
-#define FFI_ARGS_FF  FFI_TYPE_FLOAT * 4 +  FFI_TYPE_FLOAT
-#define FFI_ARGS_FD  FFI_TYPE_DOUBLE * 4 + FFI_TYPE_FLOAT
-#define FFI_ARGS_DF  FFI_TYPE_FLOAT * 4 + FFI_TYPE_DOUBLE
-
-/* Needed for N32 structure returns */
-#define FFI_TYPE_SMALLSTRUCT  FFI_TYPE_UINT8
-#define FFI_TYPE_SMALLSTRUCT2 FFI_TYPE_SINT8
-
-#if 0
-/* The SGI assembler can't handle this.. */
-#define FFI_TYPE_STRUCT_DD (( FFI_ARGS_DD ) << 4) + FFI_TYPE_STRUCT
-/* (and so on) */
-#else
-/* ...so we calculate these by hand! */
-#define FFI_TYPE_STRUCT_D      61
-#define FFI_TYPE_STRUCT_F      45
-#define FFI_TYPE_STRUCT_DD     253
-#define FFI_TYPE_STRUCT_FF     173
-#define FFI_TYPE_STRUCT_FD     237
-#define FFI_TYPE_STRUCT_DF     189
-#define FFI_TYPE_STRUCT_SMALL  93
-#define FFI_TYPE_STRUCT_SMALL2 109
-
-/* and for n32 soft float, add 16 * 2^4 */
-#define FFI_TYPE_STRUCT_D_SOFT      317
-#define FFI_TYPE_STRUCT_F_SOFT      301
-#define FFI_TYPE_STRUCT_DD_SOFT     509
-#define FFI_TYPE_STRUCT_FF_SOFT     429
-#define FFI_TYPE_STRUCT_FD_SOFT     493
-#define FFI_TYPE_STRUCT_DF_SOFT     445
-#define FFI_TYPE_STRUCT_SOFT        16
-#endif
-
-#ifdef LIBFFI_ASM
-#define v0 $2
-#define v1 $3
-#define a0 $4
-#define a1 $5
-#define a2 $6
-#define a3 $7
-#define a4 $8          
-#define a5 $9          
-#define a6 $10         
-#define a7 $11         
-#define t0 $8
-#define t1 $9
-#define t2 $10
-#define t3 $11
-#define t4 $12         
-#define t5 $13
-#define t6 $14 
-#define t7 $15
-#define t8 $24
-#define t9 $25
-#define ra $31         
-
-#ifdef FFI_MIPS_O32
-# define REG_L lw
-# define REG_S sw
-# define SUBU  subu
-# define ADDU  addu
-# define SRL   srl
-# define LI    li
-#else /* !FFI_MIPS_O32 */
-# define REG_L ld
-# define REG_S sd
-# define SUBU  dsubu
-# define ADDU  daddu
-# define SRL   dsrl
-# define LI    dli
-# if (_MIPS_SIM==_ABI64)
-#  define LA dla
-#  define EH_FRAME_ALIGN 3
-#  define FDE_ADDR_BYTES .8byte
-# else
-#  define LA la
-#  define EH_FRAME_ALIGN 2
-#  define FDE_ADDR_BYTES .4byte
-# endif /* _MIPS_SIM==_ABI64 */
-#endif /* !FFI_MIPS_O32 */
-#else /* !LIBFFI_ASM */
-# ifdef __GNUC__
-#  ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef unsigned int     ffi_arg __attribute__((__mode__(__SI__)));
-typedef signed   int     ffi_sarg __attribute__((__mode__(__SI__)));
-#else
-/* N32 and N64 frames have 64bit integer args */
-typedef unsigned int     ffi_arg __attribute__((__mode__(__DI__)));
-typedef signed   int     ffi_sarg __attribute__((__mode__(__DI__)));
-#  endif
-# else
-#  ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef __uint32_t ffi_arg;
-typedef __int32_t ffi_sarg;
-#  else
-/* N32 and N64 frames have 64bit integer args */
-typedef __uint64_t ffi_arg;
-typedef __int64_t ffi_sarg;
-#  endif
-# endif /* __GNUC__ */
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_O32,
-  FFI_N32,
-  FFI_N64,
-  FFI_O32_SOFT_FLOAT,
-  FFI_N32_SOFT_FLOAT,
-  FFI_N64_SOFT_FLOAT,
-  FFI_LAST_ABI,
-
-#ifdef FFI_MIPS_O32
-#ifdef __mips_soft_float
-  FFI_DEFAULT_ABI = FFI_O32_SOFT_FLOAT
-#else
-  FFI_DEFAULT_ABI = FFI_O32
-#endif
-#else
-# if _MIPS_SIM==_ABI64
-#  ifdef __mips_soft_float
-  FFI_DEFAULT_ABI = FFI_N64_SOFT_FLOAT
-#  else
-  FFI_DEFAULT_ABI = FFI_N64
-#  endif
-# else
-#  ifdef __mips_soft_float
-  FFI_DEFAULT_ABI = FFI_N32_SOFT_FLOAT
-#  else
-  FFI_DEFAULT_ABI = FFI_N32
-#  endif
-# endif
-#endif
-} ffi_abi;
-
-#define FFI_EXTRA_CIF_FIELDS unsigned rstruct_flag
-#endif /* !LIBFFI_ASM */
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if defined(FFI_MIPS_O32)
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 20
-#else
-/* N32/N64. */
-# define FFI_CLOSURES 1
-#if _MIPS_SIM==_ABI64
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#define FFI_TRAMPOLINE_SIZE 20
-#endif
-#endif /* FFI_MIPS_O32 */
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/kfreebsd-mmap/.timestamp b/.pc/kfreebsd-mmap/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/kfreebsd-mmap/ChangeLog b/.pc/kfreebsd-mmap/ChangeLog
deleted file mode 100644 (file)
index 6512f37..0000000
+++ /dev/null
@@ -1,4697 +0,0 @@
-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  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  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-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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * 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.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/kfreebsd-mmap/configure.ac b/.pc/kfreebsd-mmap/configure.ac
deleted file mode 100644 (file)
index 0cdf33c..0000000
+++ /dev/null
@@ -1,499 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux* | mips*-*-openbsd*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin* | powerpc64-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd* | powerpc-*-openbsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
-  powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    LT_SYS_SYMBOL_USCORE
-    if test "x$sys_symbol_underscore" = xyes; then
-        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-    fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
-     *arm*-apple-darwin*)
-       FFI_EXEC_TRAMPOLINE_TABLE=1
-       AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
-                 [Cannot use PROT_EXEC on this target, so, we revert to
-                   alternative means])
-     ;;
-     *-apple-darwin1[[10]]* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-      libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-      AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-      AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  else
-      AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  fi
-
-  AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-      libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-      AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-  fi
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/m68k-patches/.timestamp b/.pc/m68k-patches/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/m68k-patches/src/m68k/ffi.c b/.pc/m68k-patches/src/m68k/ffi.c
deleted file mode 100644 (file)
index 0d4df1e..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c
-   
-   m68k Foreign Function Interface 
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <unistd.h>
-#ifdef __rtems__
-void rtems_cache_flush_multiple_data_lines( const void *, size_t );
-#else
-#include <sys/syscall.h>
-#include <asm/cachectl.h>
-#endif
-
-void ffi_call_SYSV (extended_cif *,
-                   unsigned, unsigned,
-                   void *, void (*fn) ());
-void *ffi_prep_args (void *stack, extended_cif *ecif);
-void ffi_closure_SYSV (ffi_closure *);
-void ffi_closure_struct_SYSV (ffi_closure *);
-unsigned int ffi_closure_SYSV_inner (ffi_closure *closure,
-                                    void *resp, void *args);
-
-/* ffi_prep_args is called by the assembly routine once stack space has
-   been allocated for the function's arguments.  */
-
-void *
-ffi_prep_args (void *stack, extended_cif *ecif)
-{
-  unsigned int i;
-  void **p_argv;
-  char *argp;
-  ffi_type **p_arg;
-  void *struct_value_ptr;
-
-  argp = stack;
-
-  if (ecif->cif->rtype->type == FFI_TYPE_STRUCT
-      && !ecif->cif->flags)
-    struct_value_ptr = ecif->rvalue;
-  else
-    struct_value_ptr = NULL;
-
-  p_argv = ecif->avalue;
-
-  for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
-       i != 0;
-       i--, p_arg++)
-    {
-      size_t z;
-
-      z = (*p_arg)->size;
-      if (z < sizeof (int))
-       {
-         switch ((*p_arg)->type)
-           {
-           case FFI_TYPE_SINT8:
-             *(signed int *) argp = (signed int) *(SINT8 *) *p_argv;
-             break;
-
-           case FFI_TYPE_UINT8:
-             *(unsigned int *) argp = (unsigned int) *(UINT8 *) *p_argv;
-             break;
-
-           case FFI_TYPE_SINT16:
-             *(signed int *) argp = (signed int) *(SINT16 *) *p_argv;
-             break;
-
-           case FFI_TYPE_UINT16:
-             *(unsigned int *) argp = (unsigned int) *(UINT16 *) *p_argv;
-             break;
-
-           case FFI_TYPE_STRUCT:
-             memcpy (argp + sizeof (int) - z, *p_argv, z);
-             break;
-
-           default:
-             FFI_ASSERT (0);
-           }
-         z = sizeof (int);
-       }
-      else
-       {
-         memcpy (argp, *p_argv, z);
-
-         /* Align if necessary.  */
-         if ((sizeof(int) - 1) & z)
-           z = ALIGN(z, sizeof(int));
-       }
-
-      p_argv++;
-      argp += z;
-    }
-
-  return struct_value_ptr;
-}
-
-#define CIF_FLAGS_INT          1
-#define CIF_FLAGS_DINT         2
-#define CIF_FLAGS_FLOAT                4
-#define CIF_FLAGS_DOUBLE       8
-#define CIF_FLAGS_LDOUBLE      16
-#define CIF_FLAGS_POINTER      32
-#define CIF_FLAGS_STRUCT1      64
-#define CIF_FLAGS_STRUCT2      128
-
-/* Perform machine dependent cif processing */
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
-  /* Set the return type flag */
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_VOID:
-      cif->flags = 0;
-      break;
-
-    case FFI_TYPE_STRUCT:
-      switch (cif->rtype->size)
-       {
-       case 1:
-         cif->flags = CIF_FLAGS_STRUCT1;
-         break;
-       case 2:
-         cif->flags = CIF_FLAGS_STRUCT2;
-         break;
-       case 4:
-         cif->flags = CIF_FLAGS_INT;
-         break;
-       case 8:
-         cif->flags = CIF_FLAGS_DINT;
-         break;
-       default:
-         cif->flags = 0;
-         break;
-       }
-      break;
-
-    case FFI_TYPE_FLOAT:
-      cif->flags = CIF_FLAGS_FLOAT;
-      break;
-
-    case FFI_TYPE_DOUBLE:
-      cif->flags = CIF_FLAGS_DOUBLE;
-      break;
-
-#if (FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE)
-    case FFI_TYPE_LONGDOUBLE:
-      cif->flags = CIF_FLAGS_LDOUBLE;
-      break;
-#endif
-
-    case FFI_TYPE_POINTER:
-      cif->flags = CIF_FLAGS_POINTER;
-      break;
-
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_UINT64:
-      cif->flags = CIF_FLAGS_DINT;
-      break;
-
-    default:
-      cif->flags = CIF_FLAGS_INT;
-      break;
-    }
-
-  return FFI_OK;
-}
-
-void
-ffi_call (ffi_cif *cif, void (*fn) (), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  /* If the return value is a struct and we don't have a return value
-     address then we need to make one.  */
-
-  if (rvalue == NULL
-      && cif->rtype->type == FFI_TYPE_STRUCT
-      && cif->rtype->size > 8)
-    ecif.rvalue = alloca (cif->rtype->size);
-  else
-    ecif.rvalue = rvalue;
-
-  switch (cif->abi)
-    {
-    case FFI_SYSV:
-      ffi_call_SYSV (&ecif, cif->bytes, cif->flags,
-                    ecif.rvalue, fn);
-      break;
-
-    default:
-      FFI_ASSERT (0);
-      break;
-    }
-}
-
-static void
-ffi_prep_incoming_args_SYSV (char *stack, void **avalue, ffi_cif *cif)
-{
-  unsigned int i;
-  void **p_argv;
-  char *argp;
-  ffi_type **p_arg;
-
-  argp = stack;
-  p_argv = avalue;
-
-  for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
-    {
-      size_t z;
-
-      z = (*p_arg)->size;
-      if (z <= 4)
-       {
-         *p_argv = (void *) (argp + 4 - z);
-
-         z = 4;
-       }
-      else
-       {
-         *p_argv = (void *) argp;
-
-         /* Align if necessary */
-         if ((sizeof(int) - 1) & z)
-           z = ALIGN(z, sizeof(int));
-       }
-
-      p_argv++;
-      argp += z;
-    }
-}
-
-unsigned int
-ffi_closure_SYSV_inner (ffi_closure *closure, void *resp, void *args)
-{
-  ffi_cif *cif;
-  void **arg_area;
-
-  cif = closure->cif;
-  arg_area = (void**) alloca (cif->nargs * sizeof (void *));
-
-  ffi_prep_incoming_args_SYSV(args, arg_area, cif);
-
-  (closure->fun) (cif, resp, arg_area, closure->user_data);
-
-  return cif->flags;
-}
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif*,void*,void**,void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  FFI_ASSERT (cif->abi == FFI_SYSV);
-
-  *(unsigned short *)closure->tramp = 0x207c;
-  *(void **)(closure->tramp + 2) = codeloc;
-  *(unsigned short *)(closure->tramp + 6) = 0x4ef9;
-  if (cif->rtype->type == FFI_TYPE_STRUCT
-      && !cif->flags)
-    *(void **)(closure->tramp + 8) = ffi_closure_struct_SYSV;
-  else
-    *(void **)(closure->tramp + 8) = ffi_closure_SYSV;
-
-#ifdef __rtems__
-  rtems_cache_flush_multiple_data_lines( codeloc, FFI_TRAMPOLINE_SIZE );
-#else
-  syscall(SYS_cacheflush, codeloc, FLUSH_SCOPE_LINE,
-         FLUSH_CACHE_BOTH, FFI_TRAMPOLINE_SIZE);
-#endif
-
-  closure->cif  = cif;
-  closure->user_data = user_data;
-  closure->fun  = fun;
-
-  return FFI_OK;
-}
-
diff --git a/.pc/m68k-patches/testsuite/libffi.call/return_sc.c b/.pc/m68k-patches/testsuite/libffi.call/return_sc.c
deleted file mode 100644 (file)
index 19608ee..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Area:       ffi_call
-   Purpose:    Check return value signed char.
-   Limitations:        none.
-   PR:         none.
-   Originator: From the original ffitest.c  */
-
-/* { dg-do run } */
-#include "ffitest.h"
-
-static signed char return_sc(signed char sc)
-{
-  return sc;
-}
-int main (void)
-{
-  ffi_cif cif;
-  ffi_type *args[MAX_ARGS];
-  void *values[MAX_ARGS];
-  ffi_arg rint;
-  signed char sc;
-
-  args[0] = &ffi_type_schar;
-  values[0] = &sc;
-
-  /* Initialize the cif */
-  CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
-                    &ffi_type_schar, args) == FFI_OK);
-
-  for (sc = (signed char) -127;
-       sc < (signed char) 127; sc++)
-    {
-      ffi_call(&cif, FFI_FN(return_sc), &rint, values);
-      CHECK(rint == (ffi_arg) sc);
-    }
-  exit(0);
-}
diff --git a/.pc/ml64-safeseh/.timestamp b/.pc/ml64-safeseh/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/ml64-safeseh/ChangeLog b/.pc/ml64-safeseh/ChangeLog
deleted file mode 100644 (file)
index 1c00d73..0000000
+++ /dev/null
@@ -1,4533 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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-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-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-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-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/ml64-safeseh/msvcc.sh b/.pc/ml64-safeseh/msvcc.sh
deleted file mode 100755 (executable)
index 69e2bc3..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-#!/bin/sh
-
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the MSVC wrappificator.
-#
-# The Initial Developer of the Original Code is
-# Timothy Wall <twalljava@dev.java.net>.
-# Portions created by the Initial Developer are Copyright (C) 2009
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Daniel Witte <dwitte@mozilla.com>
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-#
-# GCC-compatible wrapper for cl.exe and ml.exe. Arguments are given in GCC
-# format and translated into something sensible for cl or ml.
-#
-
-args="-nologo -W3"
-md=-MD
-cl="cl"
-ml="ml"
-output=
-
-while [ $# -gt 0 ]
-do
-  case $1
-  in
-    -fexceptions)
-      # Don't enable exceptions for now.
-      #args="$args -EHac"
-      shift 1
-    ;;
-    -m32)
-      shift 1
-    ;;
-    -m64)
-      cl="cl"   # "$MSVC/x86_amd64/cl"
-      ml="ml64" # "$MSVC/x86_amd64/ml64"
-      shift 1
-    ;;
-    -O0)
-      args="$args -Od"
-      shift 1
-    ;;
-    -O*)
-      # If we're optimizing, make sure we explicitly turn on some optimizations
-      # that are implicitly disabled by debug symbols (-Zi).
-      args="$args $1 -OPT:REF -OPT:ICF -INCREMENTAL:NO"
-      shift 1
-    ;;
-    -g)
-      # Enable debug symbol generation.
-      args="$args -Zi -DEBUG"
-      shift 1
-    ;;
-    -DFFI_DEBUG)
-      # Link against debug CRT and enable runtime error checks.
-      args="$args -RTC1"
-      defines="$defines $1"
-      md=-MDd
-      shift 1
-    ;;
-    -c)
-      args="$args -c"
-      args="$(echo $args | sed 's%/Fe%/Fo%g')"
-      single="-c"
-      shift 1
-    ;;
-    -D*=*)
-      name="$(echo $1|sed 's/-D\([^=][^=]*\)=.*/\1/g')"
-      value="$(echo $1|sed 's/-D[^=][^=]*=//g')"
-      args="$args -D${name}='$value'"
-      defines="$defines -D${name}='$value'"
-      shift 1
-    ;;
-    -D*)
-      args="$args $1"
-      defines="$defines $1"
-      shift 1
-    ;;
-    -I)
-      args="$args -I$2"
-      includes="$includes -I$2"
-      shift 2
-    ;;
-    -I*)
-      args="$args $1"
-      includes="$includes $1"
-      shift 1
-    ;;
-    -W|-Wextra)
-      # TODO map extra warnings
-      shift 1
-    ;;
-    -Wall)
-      # -Wall on MSVC is overzealous, and we already build with -W3. Nothing
-      # to do here.
-      shift 1
-    ;;
-    -Werror)
-      args="$args -WX"
-      shift 1
-    ;;
-    -W*)
-      # TODO map specific warnings
-      shift 1
-    ;;
-    -S)
-      args="$args -FAs"
-      shift 1
-    ;;
-    -o)
-      outdir="$(dirname $2)"
-      base="$(basename $2|sed 's/\.[^.]*//g')"
-      if [ -n "$single" ]; then 
-        output="-Fo$2"
-      else
-        output="-Fe$2"
-      fi
-      if [ -n "$assembly" ]; then
-        args="$args $output"
-      else
-        args="$args $output -Fd$outdir/$base -Fp$outdir/$base -Fa$outdir/$base"
-      fi
-      shift 2
-    ;;
-    *.S)
-      src=$1
-      assembly="true"
-      shift 1
-    ;;
-    *.c)
-      args="$args $1"
-      shift 1
-    ;;
-    *)
-      # Assume it's an MSVC argument, and pass it through.
-      args="$args $1"
-      shift 1
-    ;;
-  esac
-done
-
-if [ -n "$assembly" ]; then
-    if [ -z "$outdir" ]; then
-      outdir="."
-    fi
-    ppsrc="$outdir/$(basename $src|sed 's/.S$/.asm/g')"
-    echo "$cl -nologo -EP $includes $defines $src > $ppsrc"
-    "$cl" -nologo -EP $includes $defines $src > $ppsrc || exit $?
-    output="$(echo $output | sed 's%/F[dpa][^ ]*%%g')"
-    args="-nologo -safeseh $single $output $ppsrc"
-
-    echo "$ml $args"
-    eval "\"$ml\" $args"
-    result=$?
-
-    # required to fix ml64 broken output?
-    #mv *.obj $outdir
-else
-    args="$md $args"
-    echo "$cl $args"
-    eval "\"$cl\" $args"
-    result=$?
-fi
-
-exit $result
-
diff --git a/.pc/more-openbsd-mips/.timestamp b/.pc/more-openbsd-mips/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/more-openbsd-mips/configure.ac b/.pc/more-openbsd-mips/configure.ac
deleted file mode 100644 (file)
index a7a8f8e..0000000
+++ /dev/null
@@ -1,499 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin* | powerpc64-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd* | powerpc-*-openbsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
-  powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    LT_SYS_SYMBOL_USCORE
-    if test "x$sys_symbol_underscore" = xyes; then
-        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-    fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
-     *arm*-apple-darwin*)
-       FFI_EXEC_TRAMPOLINE_TABLE=1
-       AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
-                 [Cannot use PROT_EXEC on this target, so, we revert to
-                   alternative means])
-     ;;
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-      libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-      AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-      AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  else
-      AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  fi
-
-  AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-      libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-      AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-  fi
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/more-openbsd-mips/src/mips/ffi.c b/.pc/more-openbsd-mips/src/mips/ffi.c
deleted file mode 100644 (file)
index d5b80d1..0000000
+++ /dev/null
@@ -1,1032 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 2011  Anthony Green
-           Copyright (c) 2008  David Daney
-           Copyright (c) 1996, 2007, 2008, 2011  Red Hat, Inc.
-   
-   MIPS Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-#ifdef __GNUC__
-#  if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))
-#    define USE__BUILTIN___CLEAR_CACHE 1
-#  endif
-#endif
-
-#ifndef USE__BUILTIN___CLEAR_CACHE
-#include <sys/cachectl.h>
-#endif
-
-#ifdef FFI_DEBUG
-# define FFI_MIPS_STOP_HERE() ffi_stop_here()
-#else
-# define FFI_MIPS_STOP_HERE() do {} while(0)
-#endif
-
-#ifdef FFI_MIPS_N32
-#define FIX_ARGP \
-FFI_ASSERT(argp <= &stack[bytes]); \
-if (argp == &stack[bytes]) \
-{ \
-  argp = stack; \
-  FFI_MIPS_STOP_HERE(); \
-}
-#else
-#define FIX_ARGP 
-#endif
-
-
-/* ffi_prep_args is called by the assembly routine once stack space
-   has been allocated for the function's arguments */
-
-static void ffi_prep_args(char *stack, 
-                         extended_cif *ecif,
-                         int bytes,
-                         int flags)
-{
-  int i;
-  void **p_argv;
-  char *argp;
-  ffi_type **p_arg;
-
-#ifdef FFI_MIPS_N32
-  /* If more than 8 double words are used, the remainder go
-     on the stack. We reorder stuff on the stack here to 
-     support this easily. */
-  if (bytes > 8 * sizeof(ffi_arg))
-    argp = &stack[bytes - (8 * sizeof(ffi_arg))];
-  else
-    argp = stack;
-#else
-  argp = stack;
-#endif
-
-  memset(stack, 0, bytes);
-
-#ifdef FFI_MIPS_N32
-  if ( ecif->cif->rstruct_flag != 0 )
-#else
-  if ( ecif->cif->rtype->type == FFI_TYPE_STRUCT )
-#endif  
-    {
-      *(ffi_arg *) argp = (ffi_arg) ecif->rvalue;
-      argp += sizeof(ffi_arg);
-      FIX_ARGP;
-    }
-
-  p_argv = ecif->avalue;
-
-  for (i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs; i++, p_arg++)
-    {
-      size_t z;
-      unsigned int a;
-
-      /* Align if necessary.  */
-      a = (*p_arg)->alignment;
-      if (a < sizeof(ffi_arg))
-        a = sizeof(ffi_arg);
-      
-      if ((a - 1) & (unsigned long) argp)
-       {
-         argp = (char *) ALIGN(argp, a);
-         FIX_ARGP;
-       }
-
-      z = (*p_arg)->size;
-      if (z <= sizeof(ffi_arg))
-       {
-          int type = (*p_arg)->type;
-         z = sizeof(ffi_arg);
-
-          /* The size of a pointer depends on the ABI */
-          if (type == FFI_TYPE_POINTER)
-            type = (ecif->cif->abi == FFI_N64
-                   || ecif->cif->abi == FFI_N64_SOFT_FLOAT)
-             ? FFI_TYPE_SINT64 : FFI_TYPE_SINT32;
-
-       if (i < 8 && (ecif->cif->abi == FFI_N32_SOFT_FLOAT
-                     || ecif->cif->abi == FFI_N64_SOFT_FLOAT))
-         {
-           switch (type)
-             {
-             case FFI_TYPE_FLOAT:
-               type = FFI_TYPE_UINT32;
-               break;
-             case FFI_TYPE_DOUBLE:
-               type = FFI_TYPE_UINT64;
-               break;
-             default:
-               break;
-             }
-         }
-         switch (type)
-           {
-             case FFI_TYPE_SINT8:
-               *(ffi_arg *)argp = *(SINT8 *)(* p_argv);
-               break;
-
-             case FFI_TYPE_UINT8:
-               *(ffi_arg *)argp = *(UINT8 *)(* p_argv);
-               break;
-                 
-             case FFI_TYPE_SINT16:
-               *(ffi_arg *)argp = *(SINT16 *)(* p_argv);
-               break;
-                 
-             case FFI_TYPE_UINT16:
-               *(ffi_arg *)argp = *(UINT16 *)(* p_argv);
-               break;
-                 
-             case FFI_TYPE_SINT32:
-               *(ffi_arg *)argp = *(SINT32 *)(* p_argv);
-               break;
-                 
-             case FFI_TYPE_UINT32:
-               *(ffi_arg *)argp = *(UINT32 *)(* p_argv);
-               break;
-
-             /* This can only happen with 64bit slots.  */
-             case FFI_TYPE_FLOAT:
-               *(float *) argp = *(float *)(* p_argv);
-               break;
-
-             /* Handle structures.  */
-             default:
-               memcpy(argp, *p_argv, (*p_arg)->size);
-               break;
-           }
-       }
-      else
-       {
-#ifdef FFI_MIPS_O32
-         memcpy(argp, *p_argv, z);
-#else
-         {
-           unsigned long end = (unsigned long) argp + z;
-           unsigned long cap = (unsigned long) stack + bytes;
-
-           /* Check if the data will fit within the register space.
-              Handle it if it doesn't.  */
-
-           if (end <= cap)
-             memcpy(argp, *p_argv, z);
-           else
-             {
-               unsigned long portion = cap - (unsigned long)argp;
-
-               memcpy(argp, *p_argv, portion);
-               argp = stack;
-                z -= portion;
-               memcpy(argp, (void*)((unsigned long)(*p_argv) + portion),
-                       z);
-             }
-         }
-#endif
-      }
-      p_argv++;
-      argp += z;
-      FIX_ARGP;
-    }
-}
-
-#ifdef FFI_MIPS_N32
-
-/* The n32 spec says that if "a chunk consists solely of a double 
-   float field (but not a double, which is part of a union), it
-   is passed in a floating point register. Any other chunk is
-   passed in an integer register". This code traverses structure
-   definitions and generates the appropriate flags. */
-
-static unsigned
-calc_n32_struct_flags(int soft_float, ffi_type *arg,
-                     unsigned *loc, unsigned *arg_reg)
-{
-  unsigned flags = 0;
-  unsigned index = 0;
-
-  ffi_type *e;
-
-  if (soft_float)
-    return 0;
-
-  while ((e = arg->elements[index]))
-    {
-      /* Align this object.  */
-      *loc = ALIGN(*loc, e->alignment);
-      if (e->type == FFI_TYPE_DOUBLE)
-       {
-          /* Already aligned to FFI_SIZEOF_ARG.  */
-          *arg_reg = *loc / FFI_SIZEOF_ARG;
-          if (*arg_reg > 7)
-            break;
-         flags += (FFI_TYPE_DOUBLE << (*arg_reg * FFI_FLAG_BITS));
-          *loc += e->size;
-       }
-      else
-        *loc += e->size;
-      index++;
-    }
-  /* Next Argument register at alignment of FFI_SIZEOF_ARG.  */
-  *arg_reg = ALIGN(*loc, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-
-  return flags;
-}
-
-static unsigned
-calc_n32_return_struct_flags(int soft_float, ffi_type *arg)
-{
-  unsigned flags = 0;
-  unsigned small = FFI_TYPE_SMALLSTRUCT;
-  ffi_type *e;
-
-  /* Returning structures under n32 is a tricky thing.
-     A struct with only one or two floating point fields 
-     is returned in $f0 (and $f2 if necessary). Any other
-     struct results at most 128 bits are returned in $2
-     (the first 64 bits) and $3 (remainder, if necessary).
-     Larger structs are handled normally. */
-  
-  if (arg->size > 16)
-    return 0;
-
-  if (arg->size > 8)
-    small = FFI_TYPE_SMALLSTRUCT2;
-
-  e = arg->elements[0];
-
-  if (e->type == FFI_TYPE_DOUBLE)
-    flags = FFI_TYPE_DOUBLE;
-  else if (e->type == FFI_TYPE_FLOAT)
-    flags = FFI_TYPE_FLOAT;
-
-  if (flags && (e = arg->elements[1]))
-    {
-      if (e->type == FFI_TYPE_DOUBLE)
-       flags += FFI_TYPE_DOUBLE << FFI_FLAG_BITS;
-      else if (e->type == FFI_TYPE_FLOAT)
-       flags += FFI_TYPE_FLOAT << FFI_FLAG_BITS;
-      else 
-       return small;
-
-      if (flags && (arg->elements[2]))
-       {
-         /* There are three arguments and the first two are 
-            floats! This must be passed the old way. */
-         return small;
-       }
-      if (soft_float)
-       flags += FFI_TYPE_STRUCT_SOFT;
-    }
-  else
-    if (!flags)
-      return small;
-
-  return flags;
-}
-
-#endif
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
-  cif->flags = 0;
-
-#ifdef FFI_MIPS_O32
-  /* Set the flags necessary for O32 processing.  FFI_O32_SOFT_FLOAT
-   * does not have special handling for floating point args.
-   */
-
-  if (cif->rtype->type != FFI_TYPE_STRUCT && cif->abi == FFI_O32)
-    {
-      if (cif->nargs > 0)
-       {
-         switch ((cif->arg_types)[0]->type)
-           {
-           case FFI_TYPE_FLOAT:
-           case FFI_TYPE_DOUBLE:
-             cif->flags += (cif->arg_types)[0]->type;
-             break;
-             
-           default:
-             break;
-           }
-
-         if (cif->nargs > 1)
-           {
-             /* Only handle the second argument if the first
-                is a float or double. */
-             if (cif->flags)
-               {
-                 switch ((cif->arg_types)[1]->type)
-                   {
-                   case FFI_TYPE_FLOAT:
-                   case FFI_TYPE_DOUBLE:
-                     cif->flags += (cif->arg_types)[1]->type << FFI_FLAG_BITS;
-                     break;
-                     
-                   default:
-                     break;
-                   }
-               }
-           }
-       }
-    }
-      
-  /* Set the return type flag */
-
-  if (cif->abi == FFI_O32_SOFT_FLOAT)
-    {
-      switch (cif->rtype->type)
-        {
-        case FFI_TYPE_VOID:
-        case FFI_TYPE_STRUCT:
-          cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 2);
-          break;
-
-        case FFI_TYPE_SINT64:
-        case FFI_TYPE_UINT64:
-        case FFI_TYPE_DOUBLE:
-          cif->flags += FFI_TYPE_UINT64 << (FFI_FLAG_BITS * 2);
-          break;
-      
-        case FFI_TYPE_FLOAT:
-        default:
-          cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 2);
-          break;
-        }
-    }
-  else
-    {
-      /* FFI_O32 */      
-      switch (cif->rtype->type)
-        {
-        case FFI_TYPE_VOID:
-        case FFI_TYPE_STRUCT:
-        case FFI_TYPE_FLOAT:
-        case FFI_TYPE_DOUBLE:
-          cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 2);
-          break;
-
-        case FFI_TYPE_SINT64:
-        case FFI_TYPE_UINT64:
-          cif->flags += FFI_TYPE_UINT64 << (FFI_FLAG_BITS * 2);
-          break;
-      
-        default:
-          cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 2);
-          break;
-        }
-    }
-#endif
-
-#ifdef FFI_MIPS_N32
-  /* Set the flags necessary for N32 processing */
-  {
-    int type;
-    unsigned arg_reg = 0;
-    unsigned loc = 0;
-    unsigned count = (cif->nargs < 8) ? cif->nargs : 8;
-    unsigned index = 0;
-
-    unsigned struct_flags = 0;
-    int soft_float = (cif->abi == FFI_N32_SOFT_FLOAT
-                     || cif->abi == FFI_N64_SOFT_FLOAT);
-
-    if (cif->rtype->type == FFI_TYPE_STRUCT)
-      {
-       struct_flags = calc_n32_return_struct_flags(soft_float, cif->rtype);
-
-       if (struct_flags == 0)
-         {
-           /* This means that the structure is being passed as
-              a hidden argument */
-
-           arg_reg = 1;
-           count = (cif->nargs < 7) ? cif->nargs : 7;
-
-           cif->rstruct_flag = !0;
-         }
-       else
-           cif->rstruct_flag = 0;
-      }
-    else
-      cif->rstruct_flag = 0;
-
-    while (count-- > 0 && arg_reg < 8)
-      {
-       type = (cif->arg_types)[index]->type;
-       if (soft_float)
-         {
-           switch (type)
-             {
-             case FFI_TYPE_FLOAT:
-               type = FFI_TYPE_UINT32;
-               break;
-             case FFI_TYPE_DOUBLE:
-               type = FFI_TYPE_UINT64;
-               break;
-             default:
-               break;
-             }
-         }
-       switch (type)
-         {
-         case FFI_TYPE_FLOAT:
-         case FFI_TYPE_DOUBLE:
-           cif->flags +=
-              ((cif->arg_types)[index]->type << (arg_reg * FFI_FLAG_BITS));
-           arg_reg++;
-           break;
-          case FFI_TYPE_LONGDOUBLE:
-            /* Align it.  */
-            arg_reg = ALIGN(arg_reg, 2);
-            /* Treat it as two adjacent doubles.  */
-           if (soft_float) 
-             {
-               arg_reg += 2;
-             }
-           else
-             {
-               cif->flags +=
-                 (FFI_TYPE_DOUBLE << (arg_reg * FFI_FLAG_BITS));
-               arg_reg++;
-               cif->flags +=
-                 (FFI_TYPE_DOUBLE << (arg_reg * FFI_FLAG_BITS));
-               arg_reg++;
-             }
-            break;
-
-         case FFI_TYPE_STRUCT:
-            loc = arg_reg * FFI_SIZEOF_ARG;
-           cif->flags += calc_n32_struct_flags(soft_float,
-                                               (cif->arg_types)[index],
-                                               &loc, &arg_reg);
-           break;
-
-         default:
-           arg_reg++;
-            break;
-         }
-
-       index++;
-      }
-
-  /* Set the return type flag */
-    switch (cif->rtype->type)
-      {
-      case FFI_TYPE_STRUCT:
-       {
-         if (struct_flags == 0)
-           {
-             /* The structure is returned through a hidden
-                first argument. Do nothing, 'cause FFI_TYPE_VOID 
-                is 0 */
-           }
-         else
-           {
-             /* The structure is returned via some tricky
-                mechanism */
-             cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8);
-             cif->flags += struct_flags << (4 + (FFI_FLAG_BITS * 8));
-           }
-         break;
-       }
-      
-      case FFI_TYPE_VOID:
-       /* Do nothing, 'cause FFI_TYPE_VOID is 0 */
-       break;
-
-      case FFI_TYPE_POINTER:
-       if (cif->abi == FFI_N32_SOFT_FLOAT || cif->abi == FFI_N32)
-         cif->flags += FFI_TYPE_SINT32 << (FFI_FLAG_BITS * 8);
-       else
-         cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);
-       break;
-
-      case FFI_TYPE_FLOAT:
-       if (soft_float)
-         {
-           cif->flags += FFI_TYPE_SINT32 << (FFI_FLAG_BITS * 8);
-           break;
-         }
-       /* else fall through */
-      case FFI_TYPE_DOUBLE:
-       if (soft_float)
-         cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);
-       else
-         cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 8);
-       break;
-
-      case FFI_TYPE_LONGDOUBLE:
-       /* Long double is returned as if it were a struct containing
-          two doubles.  */
-       if (soft_float)
-         {
-           cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8);
-           cif->flags += FFI_TYPE_SMALLSTRUCT2 << (4 + (FFI_FLAG_BITS * 8));
-         }
-       else
-         {
-           cif->flags += FFI_TYPE_STRUCT << (FFI_FLAG_BITS * 8);
-           cif->flags += (FFI_TYPE_DOUBLE
-                          + (FFI_TYPE_DOUBLE << FFI_FLAG_BITS))
-                                             << (4 + (FFI_FLAG_BITS * 8));
-         }
-       break;
-      default:
-       cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);
-       break;
-      }
-  }
-#endif
-  
-  return FFI_OK;
-}
-
-/* Low level routine for calling O32 functions */
-extern int ffi_call_O32(void (*)(char *, extended_cif *, int, int), 
-                       extended_cif *, unsigned, 
-                       unsigned, unsigned *, void (*)(void));
-
-/* Low level routine for calling N32 functions */
-extern int ffi_call_N32(void (*)(char *, extended_cif *, int, int), 
-                       extended_cif *, unsigned, 
-                       unsigned, void *, void (*)(void));
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-  
-  /* If the return value is a struct and we don't have a return        */
-  /* value address then we need to make one                    */
-  
-  if ((rvalue == NULL) && 
-      (cif->rtype->type == FFI_TYPE_STRUCT))
-    ecif.rvalue = alloca(cif->rtype->size);
-  else
-    ecif.rvalue = rvalue;
-    
-  switch (cif->abi) 
-    {
-#ifdef FFI_MIPS_O32
-    case FFI_O32:
-    case FFI_O32_SOFT_FLOAT:
-      ffi_call_O32(ffi_prep_args, &ecif, cif->bytes, 
-                  cif->flags, ecif.rvalue, fn);
-      break;
-#endif
-
-#ifdef FFI_MIPS_N32
-    case FFI_N32:
-    case FFI_N32_SOFT_FLOAT:
-    case FFI_N64:
-    case FFI_N64_SOFT_FLOAT:
-      {
-        int copy_rvalue = 0;
-       int copy_offset = 0;
-        char *rvalue_copy = ecif.rvalue;
-        if (cif->rtype->type == FFI_TYPE_STRUCT && cif->rtype->size < 16)
-          {
-            /* For structures smaller than 16 bytes we clobber memory
-               in 8 byte increments.  Make a copy so we don't clobber
-               the callers memory outside of the struct bounds.  */
-            rvalue_copy = alloca(16);
-            copy_rvalue = 1;
-          }
-       else if (cif->rtype->type == FFI_TYPE_FLOAT
-                && (cif->abi == FFI_N64_SOFT_FLOAT
-                    || cif->abi == FFI_N32_SOFT_FLOAT))
-         {
-           rvalue_copy = alloca (8);
-           copy_rvalue = 1;
-#if defined(__MIPSEB__) || defined(_MIPSEB)
-           copy_offset = 4;
-#endif
-         }
-        ffi_call_N32(ffi_prep_args, &ecif, cif->bytes,
-                     cif->flags, rvalue_copy, fn);
-        if (copy_rvalue)
-          memcpy(ecif.rvalue, rvalue_copy + copy_offset, cif->rtype->size);
-      }
-      break;
-#endif
-
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-}
-
-#if FFI_CLOSURES
-#if defined(FFI_MIPS_O32)
-extern void ffi_closure_O32(void);
-#else
-extern void ffi_closure_N32(void);
-#endif /* FFI_MIPS_O32 */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure *closure,
-                     ffi_cif *cif,
-                     void (*fun)(ffi_cif*,void*,void**,void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  unsigned int *tramp = (unsigned int *) &closure->tramp[0];
-  void * fn;
-  char *clear_location = (char *) codeloc;
-
-#if defined(FFI_MIPS_O32)
-  if (cif->abi != FFI_O32 && cif->abi != FFI_O32_SOFT_FLOAT)
-    return FFI_BAD_ABI;
-  fn = ffi_closure_O32;
-#else /* FFI_MIPS_N32 */
-  if (cif->abi != FFI_N32 && cif->abi != FFI_N64)
-    return FFI_BAD_ABI;
-  fn = ffi_closure_N32;
-#endif /* FFI_MIPS_O32 */
-
-#if defined(FFI_MIPS_O32) || (_MIPS_SIM ==_ABIN32)
-  /* lui  $25,high(fn) */
-  tramp[0] = 0x3c190000 | ((unsigned)fn >> 16);
-  /* ori  $25,low(fn)  */
-  tramp[1] = 0x37390000 | ((unsigned)fn & 0xffff);
-  /* lui  $12,high(codeloc) */
-  tramp[2] = 0x3c0c0000 | ((unsigned)codeloc >> 16);
-  /* jr   $25          */
-  tramp[3] = 0x03200008;
-  /* ori  $12,low(codeloc)  */
-  tramp[4] = 0x358c0000 | ((unsigned)codeloc & 0xffff);
-#else
-  /* N64 has a somewhat larger trampoline.  */
-  /* lui  $25,high(fn) */
-  tramp[0] = 0x3c190000 | ((unsigned long)fn >> 48);
-  /* lui  $12,high(codeloc) */
-  tramp[1] = 0x3c0c0000 | ((unsigned long)codeloc >> 48);
-  /* ori  $25,mid-high(fn)  */
-  tramp[2] = 0x37390000 | (((unsigned long)fn >> 32 ) & 0xffff);
-  /* ori  $12,mid-high(codeloc)  */
-  tramp[3] = 0x358c0000 | (((unsigned long)codeloc >> 32) & 0xffff);
-  /* dsll $25,$25,16 */
-  tramp[4] = 0x0019cc38;
-  /* dsll $12,$12,16 */
-  tramp[5] = 0x000c6438;
-  /* ori  $25,mid-low(fn)  */
-  tramp[6] = 0x37390000 | (((unsigned long)fn >> 16 ) & 0xffff);
-  /* ori  $12,mid-low(codeloc)  */
-  tramp[7] = 0x358c0000 | (((unsigned long)codeloc >> 16) & 0xffff);
-  /* dsll $25,$25,16 */
-  tramp[8] = 0x0019cc38;
-  /* dsll $12,$12,16 */
-  tramp[9] = 0x000c6438;
-  /* ori  $25,low(fn)  */
-  tramp[10] = 0x37390000 | ((unsigned long)fn  & 0xffff);
-  /* jr   $25          */
-  tramp[11] = 0x03200008;
-  /* ori  $12,low(codeloc)  */
-  tramp[12] = 0x358c0000 | ((unsigned long)codeloc & 0xffff);
-
-#endif
-
-  closure->cif = cif;
-  closure->fun = fun;
-  closure->user_data = user_data;
-
-#ifdef USE__BUILTIN___CLEAR_CACHE
-  __builtin___clear_cache(clear_location, clear_location + FFI_TRAMPOLINE_SIZE);
-#else
-  cacheflush (clear_location, FFI_TRAMPOLINE_SIZE, ICACHE);
-#endif
-  return FFI_OK;
-}
-
-/*
- * Decodes the arguments to a function, which will be stored on the
- * stack. AR is the pointer to the beginning of the integer arguments
- * (and, depending upon the arguments, some floating-point arguments
- * as well). FPR is a pointer to the area where floating point
- * registers have been saved, if any.
- *
- * RVALUE is the location where the function return value will be
- * stored. CLOSURE is the prepared closure to invoke.
- *
- * This function should only be called from assembly, which is in
- * turn called from a trampoline.
- *
- * Returns the function return type.
- *
- * Based on the similar routine for sparc.
- */
-int
-ffi_closure_mips_inner_O32 (ffi_closure *closure,
-                           void *rvalue, ffi_arg *ar,
-                           double *fpr)
-{
-  ffi_cif *cif;
-  void **avaluep;
-  ffi_arg *avalue;
-  ffi_type **arg_types;
-  int i, avn, argn, seen_int;
-
-  cif = closure->cif;
-  avalue = alloca (cif->nargs * sizeof (ffi_arg));
-  avaluep = alloca (cif->nargs * sizeof (ffi_arg));
-
-  seen_int = (cif->abi == FFI_O32_SOFT_FLOAT);
-  argn = 0;
-
-  if ((cif->flags >> (FFI_FLAG_BITS * 2)) == FFI_TYPE_STRUCT)
-    {
-      rvalue = (void *)(UINT32)ar[0];
-      argn = 1;
-    }
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  while (i < avn)
-    {
-      if (i < 2 && !seen_int &&
-         (arg_types[i]->type == FFI_TYPE_FLOAT ||
-          arg_types[i]->type == FFI_TYPE_DOUBLE ||
-          arg_types[i]->type == FFI_TYPE_LONGDOUBLE))
-       {
-#if defined(__MIPSEB__) || defined(_MIPSEB)
-         if (arg_types[i]->type == FFI_TYPE_FLOAT)
-           avaluep[i] = ((char *) &fpr[i]) + sizeof (float);
-         else
-#endif
-           avaluep[i] = (char *) &fpr[i];
-       }
-      else
-       {
-         if (arg_types[i]->alignment == 8 && (argn & 0x1))
-           argn++;
-         switch (arg_types[i]->type)
-           {
-             case FFI_TYPE_SINT8:
-               avaluep[i] = &avalue[i];
-               *(SINT8 *) &avalue[i] = (SINT8) ar[argn];
-               break;
-
-             case FFI_TYPE_UINT8:
-               avaluep[i] = &avalue[i];
-               *(UINT8 *) &avalue[i] = (UINT8) ar[argn];
-               break;
-                 
-             case FFI_TYPE_SINT16:
-               avaluep[i] = &avalue[i];
-               *(SINT16 *) &avalue[i] = (SINT16) ar[argn];
-               break;
-                 
-             case FFI_TYPE_UINT16:
-               avaluep[i] = &avalue[i];
-               *(UINT16 *) &avalue[i] = (UINT16) ar[argn];
-               break;
-
-             default:
-               avaluep[i] = (char *) &ar[argn];
-               break;
-           }
-         seen_int = 1;
-       }
-      argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-      i++;
-    }
-
-  /* Invoke the closure. */
-  (closure->fun) (cif, rvalue, avaluep, closure->user_data);
-
-  if (cif->abi == FFI_O32_SOFT_FLOAT)
-    {
-      switch (cif->rtype->type)
-        {
-        case FFI_TYPE_FLOAT:
-          return FFI_TYPE_INT;
-        case FFI_TYPE_DOUBLE:
-          return FFI_TYPE_UINT64;
-        default:
-          return cif->rtype->type;
-        }
-    }
-  else
-    {
-      return cif->rtype->type;
-    }
-}
-
-#if defined(FFI_MIPS_N32)
-
-static void
-copy_struct_N32(char *target, unsigned offset, ffi_abi abi, ffi_type *type,
-                int argn, unsigned arg_offset, ffi_arg *ar,
-                ffi_arg *fpr, int soft_float)
-{
-  ffi_type **elt_typep = type->elements;
-  while(*elt_typep)
-    {
-      ffi_type *elt_type = *elt_typep;
-      unsigned o;
-      char *tp;
-      char *argp;
-      char *fpp;
-
-      o = ALIGN(offset, elt_type->alignment);
-      arg_offset += o - offset;
-      offset = o;
-      argn += arg_offset / sizeof(ffi_arg);
-      arg_offset = arg_offset % sizeof(ffi_arg);
-
-      argp = (char *)(ar + argn);
-      fpp = (char *)(argn >= 8 ? ar + argn : fpr + argn);
-
-      tp = target + offset;
-
-      if (elt_type->type == FFI_TYPE_DOUBLE && !soft_float)
-        *(double *)tp = *(double *)fpp;
-      else
-        memcpy(tp, argp + arg_offset, elt_type->size);
-
-      offset += elt_type->size;
-      arg_offset += elt_type->size;
-      elt_typep++;
-      argn += arg_offset / sizeof(ffi_arg);
-      arg_offset = arg_offset % sizeof(ffi_arg);
-    }
-}
-
-/*
- * Decodes the arguments to a function, which will be stored on the
- * stack. AR is the pointer to the beginning of the integer
- * arguments. FPR is a pointer to the area where floating point
- * registers have been saved.
- *
- * RVALUE is the location where the function return value will be
- * stored. CLOSURE is the prepared closure to invoke.
- *
- * This function should only be called from assembly, which is in
- * turn called from a trampoline.
- *
- * Returns the function return flags.
- *
- */
-int
-ffi_closure_mips_inner_N32 (ffi_closure *closure,
-                           void *rvalue, ffi_arg *ar,
-                           ffi_arg *fpr)
-{
-  ffi_cif *cif;
-  void **avaluep;
-  ffi_arg *avalue;
-  ffi_type **arg_types;
-  int i, avn, argn;
-  int soft_float;
-  ffi_arg *argp;
-
-  cif = closure->cif;
-  soft_float = cif->abi == FFI_N64_SOFT_FLOAT
-    || cif->abi == FFI_N32_SOFT_FLOAT;
-  avalue = alloca (cif->nargs * sizeof (ffi_arg));
-  avaluep = alloca (cif->nargs * sizeof (ffi_arg));
-
-  argn = 0;
-
-  if (cif->rstruct_flag)
-    {
-#if _MIPS_SIM==_ABIN32
-      rvalue = (void *)(UINT32)ar[0];
-#else /* N64 */
-      rvalue = (void *)ar[0];
-#endif
-      argn = 1;
-    }
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  while (i < avn)
-    {
-      if (arg_types[i]->type == FFI_TYPE_FLOAT
-         || arg_types[i]->type == FFI_TYPE_DOUBLE
-         || arg_types[i]->type == FFI_TYPE_LONGDOUBLE)
-        {
-          argp = (argn >= 8 || soft_float) ? ar + argn : fpr + argn;
-          if ((arg_types[i]->type == FFI_TYPE_LONGDOUBLE) && ((unsigned)argp & (arg_types[i]->alignment-1)))
-            {
-              argp=(ffi_arg*)ALIGN(argp,arg_types[i]->alignment);
-              argn++;
-            }
-#if defined(__MIPSEB__) || defined(_MIPSEB)
-          if (arg_types[i]->type == FFI_TYPE_FLOAT && argn < 8)
-            avaluep[i] = ((char *) argp) + sizeof (float);
-          else
-#endif
-            avaluep[i] = (char *) argp;
-        }
-      else
-        {
-          unsigned type = arg_types[i]->type;
-
-          if (arg_types[i]->alignment > sizeof(ffi_arg))
-            argn = ALIGN(argn, arg_types[i]->alignment / sizeof(ffi_arg));
-
-          argp = ar + argn;
-
-          /* The size of a pointer depends on the ABI */
-          if (type == FFI_TYPE_POINTER)
-            type = (cif->abi == FFI_N64 || cif->abi == FFI_N64_SOFT_FLOAT)
-             ? FFI_TYPE_SINT64 : FFI_TYPE_SINT32;
-
-         if (soft_float && type ==  FFI_TYPE_FLOAT)
-           type = FFI_TYPE_UINT32;
-
-          switch (type)
-            {
-            case FFI_TYPE_SINT8:
-              avaluep[i] = &avalue[i];
-              *(SINT8 *) &avalue[i] = (SINT8) *argp;
-              break;
-
-            case FFI_TYPE_UINT8:
-              avaluep[i] = &avalue[i];
-              *(UINT8 *) &avalue[i] = (UINT8) *argp;
-              break;
-
-            case FFI_TYPE_SINT16:
-              avaluep[i] = &avalue[i];
-              *(SINT16 *) &avalue[i] = (SINT16) *argp;
-              break;
-
-            case FFI_TYPE_UINT16:
-              avaluep[i] = &avalue[i];
-              *(UINT16 *) &avalue[i] = (UINT16) *argp;
-              break;
-
-            case FFI_TYPE_SINT32:
-              avaluep[i] = &avalue[i];
-              *(SINT32 *) &avalue[i] = (SINT32) *argp;
-              break;
-
-            case FFI_TYPE_UINT32:
-              avaluep[i] = &avalue[i];
-              *(UINT32 *) &avalue[i] = (UINT32) *argp;
-              break;
-
-            case FFI_TYPE_STRUCT:
-              if (argn < 8)
-                {
-                  /* Allocate space for the struct as at least part of
-                     it was passed in registers.  */
-                  avaluep[i] = alloca(arg_types[i]->size);
-                  copy_struct_N32(avaluep[i], 0, cif->abi, arg_types[i],
-                                  argn, 0, ar, fpr, soft_float);
-
-                  break;
-                }
-              /* Else fall through.  */
-            default:
-              avaluep[i] = (char *) argp;
-              break;
-            }
-        }
-      argn += ALIGN(arg_types[i]->size, sizeof(ffi_arg)) / sizeof(ffi_arg);
-      i++;
-    }
-
-  /* Invoke the closure. */
-  (closure->fun) (cif, rvalue, avaluep, closure->user_data);
-
-  return cif->flags >> (FFI_FLAG_BITS * 8);
-}
-
-#endif /* FFI_MIPS_N32 */
-
-#endif /* FFI_CLOSURES */
diff --git a/.pc/more-openbsd-mips/src/mips/ffitarget.h b/.pc/more-openbsd-mips/src/mips/ffitarget.h
deleted file mode 100644 (file)
index 4b08bb5..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Target configuration macros for MIPS.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifdef linux
-# include <asm/sgidefs.h>
-#elif defined(__rtems__)
-/*
- * Subprogram calling convention - copied from sgidefs.h
- */
-#define _MIPS_SIM_ABI32                1
-#define _MIPS_SIM_NABI32       2
-#define _MIPS_SIM_ABI64                3
-#else
-# include <sgidefs.h>
-#endif
-
-#  ifndef _ABIN32
-#    define _ABIN32 _MIPS_SIM_NABI32
-#  endif
-#  ifndef _ABI64
-#    define _ABI64 _MIPS_SIM_ABI64
-#  endif
-#  ifndef _ABIO32
-#    define _ABIO32 _MIPS_SIM_ABI32
-#  endif
-
-#if !defined(_MIPS_SIM)
-# error -- something is very wrong --
-#else
-#  if (_MIPS_SIM==_ABIN32 && defined(_ABIN32)) || (_MIPS_SIM==_ABI64 && defined(_ABI64))
-#    define FFI_MIPS_N32
-#  else
-#    if (_MIPS_SIM==_ABIO32 && defined(_ABIO32))
-#      define FFI_MIPS_O32
-#    else
-#     error -- this is an unsupported platform --
-#    endif
-#  endif
-#endif
-
-#ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-#  define FFI_SIZEOF_ARG    4
-#else
-/* N32 and N64 frames have 64bit integer args */
-#  define FFI_SIZEOF_ARG    8
-#  if _MIPS_SIM == _ABIN32
-#    define FFI_SIZEOF_JAVA_RAW  4
-#  endif
-#endif
-
-#define FFI_FLAG_BITS 2
-
-/* SGI's strange assembler requires that we multiply by 4 rather 
-   than shift left by FFI_FLAG_BITS */
-
-#define FFI_ARGS_D   FFI_TYPE_DOUBLE
-#define FFI_ARGS_F   FFI_TYPE_FLOAT
-#define FFI_ARGS_DD  FFI_TYPE_DOUBLE * 4 + FFI_TYPE_DOUBLE
-#define FFI_ARGS_FF  FFI_TYPE_FLOAT * 4 +  FFI_TYPE_FLOAT
-#define FFI_ARGS_FD  FFI_TYPE_DOUBLE * 4 + FFI_TYPE_FLOAT
-#define FFI_ARGS_DF  FFI_TYPE_FLOAT * 4 + FFI_TYPE_DOUBLE
-
-/* Needed for N32 structure returns */
-#define FFI_TYPE_SMALLSTRUCT  FFI_TYPE_UINT8
-#define FFI_TYPE_SMALLSTRUCT2 FFI_TYPE_SINT8
-
-#if 0
-/* The SGI assembler can't handle this.. */
-#define FFI_TYPE_STRUCT_DD (( FFI_ARGS_DD ) << 4) + FFI_TYPE_STRUCT
-/* (and so on) */
-#else
-/* ...so we calculate these by hand! */
-#define FFI_TYPE_STRUCT_D      61
-#define FFI_TYPE_STRUCT_F      45
-#define FFI_TYPE_STRUCT_DD     253
-#define FFI_TYPE_STRUCT_FF     173
-#define FFI_TYPE_STRUCT_FD     237
-#define FFI_TYPE_STRUCT_DF     189
-#define FFI_TYPE_STRUCT_SMALL  93
-#define FFI_TYPE_STRUCT_SMALL2 109
-
-/* and for n32 soft float, add 16 * 2^4 */
-#define FFI_TYPE_STRUCT_D_SOFT      317
-#define FFI_TYPE_STRUCT_F_SOFT      301
-#define FFI_TYPE_STRUCT_DD_SOFT     509
-#define FFI_TYPE_STRUCT_FF_SOFT     429
-#define FFI_TYPE_STRUCT_FD_SOFT     493
-#define FFI_TYPE_STRUCT_DF_SOFT     445
-#define FFI_TYPE_STRUCT_SOFT        16
-#endif
-
-#ifdef LIBFFI_ASM
-#define v0 $2
-#define v1 $3
-#define a0 $4
-#define a1 $5
-#define a2 $6
-#define a3 $7
-#define a4 $8          
-#define a5 $9          
-#define a6 $10         
-#define a7 $11         
-#define t0 $8
-#define t1 $9
-#define t2 $10
-#define t3 $11
-#define t4 $12         
-#define t5 $13
-#define t6 $14 
-#define t7 $15
-#define t8 $24
-#define t9 $25
-#define ra $31         
-
-#ifdef FFI_MIPS_O32
-# define REG_L lw
-# define REG_S sw
-# define SUBU  subu
-# define ADDU  addu
-# define SRL   srl
-# define LI    li
-#else /* !FFI_MIPS_O32 */
-# define REG_L ld
-# define REG_S sd
-# define SUBU  dsubu
-# define ADDU  daddu
-# define SRL   dsrl
-# define LI    dli
-# if (_MIPS_SIM==_ABI64)
-#  define LA dla
-#  define EH_FRAME_ALIGN 3
-#  define FDE_ADDR_BYTES .8byte
-# else
-#  define LA la
-#  define EH_FRAME_ALIGN 2
-#  define FDE_ADDR_BYTES .4byte
-# endif /* _MIPS_SIM==_ABI64 */
-#endif /* !FFI_MIPS_O32 */
-#else /* !LIBFFI_ASM */
-# ifdef __GNUC__
-#  ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef unsigned int     ffi_arg __attribute__((__mode__(__SI__)));
-typedef signed   int     ffi_sarg __attribute__((__mode__(__SI__)));
-#else
-/* N32 and N64 frames have 64bit integer args */
-typedef unsigned int     ffi_arg __attribute__((__mode__(__DI__)));
-typedef signed   int     ffi_sarg __attribute__((__mode__(__DI__)));
-#  endif
-# else
-#  ifdef FFI_MIPS_O32
-/* O32 stack frames have 32bit integer args */
-typedef __uint32_t ffi_arg;
-typedef __int32_t ffi_sarg;
-#  else
-/* N32 and N64 frames have 64bit integer args */
-typedef __uint64_t ffi_arg;
-typedef __int64_t ffi_sarg;
-#  endif
-# endif /* __GNUC__ */
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_O32,
-  FFI_N32,
-  FFI_N64,
-  FFI_O32_SOFT_FLOAT,
-  FFI_N32_SOFT_FLOAT,
-  FFI_N64_SOFT_FLOAT,
-  FFI_LAST_ABI,
-
-#ifdef FFI_MIPS_O32
-#ifdef __mips_soft_float
-  FFI_DEFAULT_ABI = FFI_O32_SOFT_FLOAT
-#else
-  FFI_DEFAULT_ABI = FFI_O32
-#endif
-#else
-# if _MIPS_SIM==_ABI64
-#  ifdef __mips_soft_float
-  FFI_DEFAULT_ABI = FFI_N64_SOFT_FLOAT
-#  else
-  FFI_DEFAULT_ABI = FFI_N64
-#  endif
-# else
-#  ifdef __mips_soft_float
-  FFI_DEFAULT_ABI = FFI_N32_SOFT_FLOAT
-#  else
-  FFI_DEFAULT_ABI = FFI_N32
-#  endif
-# endif
-#endif
-} ffi_abi;
-
-#define FFI_EXTRA_CIF_FIELDS unsigned rstruct_flag
-#endif /* !LIBFFI_ASM */
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if defined(FFI_MIPS_O32)
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 20
-#else
-/* N32/N64. */
-# define FFI_CLOSURES 1
-#if _MIPS_SIM==_ABI64
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#define FFI_TRAMPOLINE_SIZE 20
-#endif
-#endif /* FFI_MIPS_O32 */
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/more-openbsd/.timestamp b/.pc/more-openbsd/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/more-openbsd/ChangeLog b/.pc/more-openbsd/ChangeLog
deleted file mode 100644 (file)
index 295b115..0000000
+++ /dev/null
@@ -1,4673 +0,0 @@
-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  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-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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/more-openbsd/configure.ac b/.pc/more-openbsd/configure.ac
deleted file mode 100644 (file)
index 1c71d7f..0000000
+++ /dev/null
@@ -1,499 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin* | powerpc64-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
-  powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    LT_SYS_SYMBOL_USCORE
-    if test "x$sys_symbol_underscore" = xyes; then
-        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-    fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
-     *arm*-apple-darwin*)
-       FFI_EXEC_TRAMPOLINE_TABLE=1
-       AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
-                 [Cannot use PROT_EXEC on this target, so, we revert to
-                   alternative means])
-     ;;
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-      libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-      AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-      AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  else
-      AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  fi
-
-  AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-      libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-      AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-  fi
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/msvcc-warning/.timestamp b/.pc/msvcc-warning/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/msvcc-warning/ChangeLog b/.pc/msvcc-warning/ChangeLog
deleted file mode 100644 (file)
index 3521bdc..0000000
+++ /dev/null
@@ -1,4506 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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-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-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-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-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-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/msvcc-warning/msvcc.sh b/.pc/msvcc-warning/msvcc.sh
deleted file mode 100755 (executable)
index 551c73d..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-#!/bin/sh
-
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the MSVC wrappificator.
-#
-# The Initial Developer of the Original Code is
-# Timothy Wall <twalljava@dev.java.net>.
-# Portions created by the Initial Developer are Copyright (C) 2009
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Daniel Witte <dwitte@mozilla.com>
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-#
-# GCC-compatible wrapper for cl.exe and ml.exe. Arguments are given in GCC
-# format and translated into something sensible for cl or ml.
-#
-
-args="-nologo"
-md=-MD
-cl="cl"
-ml="ml"
-output=
-
-while [ $# -gt 0 ]
-do
-  case $1
-  in
-    -fexceptions)
-      # Don't enable exceptions for now.
-      #args="$args -EHac"
-      shift 1
-    ;;
-    -m32)
-      shift 1
-    ;;
-    -m64)
-      cl="cl"   # "$MSVC/x86_amd64/cl"
-      ml="ml64" # "$MSVC/x86_amd64/ml64"
-      shift 1
-    ;;
-    -O*)
-      args="$args $1"
-      shift 1
-    ;;
-    -g)
-      # Can't specify -RTC1 or -Zi in opt. -Gy is ok. Use -OPT:REF?
-      args="$args -D_DEBUG -RTC1 -Zi"
-      md=-MDd
-      shift 1
-    ;;
-    -c)
-      args="$args -c"
-      args="$(echo $args | sed 's%/Fe%/Fo%g')"
-      single="-c"
-      shift 1
-    ;;
-    -D*=*)
-      name="$(echo $1|sed 's/-D\([^=][^=]*\)=.*/\1/g')"
-      value="$(echo $1|sed 's/-D[^=][^=]*=//g')"
-      args="$args -D${name}='$value'"
-      defines="$defines -D${name}='$value'"
-      shift 1
-    ;;
-    -D*)
-      args="$args $1"
-      defines="$defines $1"
-      shift 1
-    ;;
-    -I)
-      args="$args -I$2"
-      includes="$includes -I$2"
-      shift 2
-    ;;
-    -I*)
-      args="$args $1"
-      includes="$includes $1"
-      shift 1
-    ;;
-    -W|-Wextra)
-      # TODO map extra warnings
-      shift 1
-    ;;
-    -Wall)
-      # -Wall on MSVC is overzealous. Use -W3 instead.
-      args="$args -W3"
-      shift 1
-    ;;
-    -Werror)
-      args="$args -WX"
-      shift 1
-    ;;
-    -W*)
-      # TODO map specific warnings
-      shift 1
-    ;;
-    -S)
-      args="$args -FAs"
-      shift 1
-    ;;
-    -o)
-      outdir="$(dirname $2)"
-      base="$(basename $2|sed 's/\.[^.]*//g')"
-      if [ -n "$single" ]; then 
-        output="-Fo$2"
-      else
-        output="-Fe$2"
-      fi
-      if [ -n "$assembly" ]; then
-        args="$args $output"
-      else
-        args="$args $output -Fd$outdir/$base -Fp$outdir/$base -Fa$outdir/$base"
-      fi
-      shift 2
-    ;;
-    *.S)
-      src=$1
-      assembly="true"
-      shift 1
-    ;;
-    *.c)
-      args="$args $1"
-      shift 1
-    ;;
-    *)
-      # Assume it's an MSVC argument, and pass it through.
-      args="$args $1"
-      shift 1
-    ;;
-  esac
-done
-
-if [ -n "$assembly" ]; then
-    if [ -z "$outdir" ]; then
-      outdir="."
-    fi
-    ppsrc="$outdir/$(basename $src|sed 's/.S$/.asm/g')"
-    echo "$cl -nologo -EP $includes $defines $src > $ppsrc"
-    "$cl" -nologo -EP $includes $defines $src > $ppsrc || exit $?
-    output="$(echo $output | sed 's%/F[dpa][^ ]*%%g')"
-    args="-nologo -safeseh $single $output $ppsrc"
-
-    echo "$ml $args"
-    eval "\"$ml\" $args"
-    result=$?
-
-    # required to fix ml64 broken output?
-    #mv *.obj $outdir
-else
-    args="$md $args"
-    echo "$cl $args"
-    eval "\"$cl\" $args"
-    result=$?
-fi
-
-exit $result
-
diff --git a/.pc/msvcc/.timestamp b/.pc/msvcc/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/msvcc/Makefile.am b/.pc/msvcc/Makefile.am
deleted file mode 100644 (file)
index 7a89371..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-## Process this with automake to create Makefile.in
-
-AUTOMAKE_OPTIONS = foreign subdir-objects
-
-SUBDIRS = include testsuite man
-
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
-       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
-       src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
-       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
-       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
-       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
-       src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
-       src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
-       src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
-       src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
-       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
-       src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
-       src/powerpc/darwin.S src/powerpc/aix_closure.S \
-       src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
-       src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
-       src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
-       src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
-       src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
-       src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
-       src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
-       src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
-       src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
-       src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
-       src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
-       src/moxie/ffi.c src/moxie/eabi.S libtool-version \
-       ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
-       m4/ltoptions.m4 m4/ltsugar.m4
-       m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh
-
-info_TEXINFOS = doc/libffi.texi
-
-## ################################################################
-
-##
-## This section is for make and multilib madness.
-##
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
-       "AR_FLAGS=$(AR_FLAGS)" \
-       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
-       "CFLAGS=$(CFLAGS)" \
-       "CXXFLAGS=$(CXXFLAGS)" \
-       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
-       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
-       "INSTALL=$(INSTALL)" \
-       "INSTALL_DATA=$(INSTALL_DATA)" \
-       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
-       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
-       "JC1FLAGS=$(JC1FLAGS)" \
-       "LDFLAGS=$(LDFLAGS)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
-       "MAKE=$(MAKE)" \
-       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
-       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-       "SHELL=$(SHELL)" \
-       "exec_prefix=$(exec_prefix)" \
-       "infodir=$(infodir)" \
-       "libdir=$(libdir)" \
-       "mandir=$(mandir)" \
-       "prefix=$(prefix)" \
-       "AR=$(AR)" \
-       "AS=$(AS)" \
-       "CC=$(CC)" \
-       "CXX=$(CXX)" \
-       "LD=$(LD)" \
-       "NM=$(NM)" \
-       "RANLIB=$(RANLIB)" \
-       "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES=
-
-ACLOCAL_AMFLAGS=$(ACLOCAL_AMFLAGS) -I m4
-
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
-               src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-
-nodist_libffi_la_SOURCES =
-
-if MIPS
-nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-endif
-if X86
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S
-endif
-if X86_FREEBSD
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/freebsd.S
-endif
-if X86_WIN32
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win32.S
-endif
-if X86_WIN64
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win64.S
-endif
-if X86_DARWIN
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-endif
-if SPARC
-nodist_libffi_la_SOURCES += src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-endif
-if ALPHA
-nodist_libffi_la_SOURCES += src/alpha/ffi.c src/alpha/osf.S
-endif
-if IA64
-nodist_libffi_la_SOURCES += src/ia64/ffi.c src/ia64/unix.S
-endif
-if M32R
-nodist_libffi_la_SOURCES += src/m32r/sysv.S src/m32r/ffi.c
-endif
-if M68K
-nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
-endif
-if POWERPC
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-endif
-if POWERPC_AIX
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-endif
-if POWERPC_DARWIN
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-endif
-if POWERPC_FREEBSD
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-endif
-if ARM
-nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
-if FFI_EXEC_TRAMPOLINE_TABLE
-nodist_libffi_la_SOURCES += src/arm/trampoline.S
-endif
-endif
-if AVR32
-nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
-endif
-if LIBFFI_CRIS
-nodist_libffi_la_SOURCES += src/cris/sysv.S src/cris/ffi.c
-endif
-if FRV
-nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
-endif
-if MOXIE
-nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
-endif
-if S390
-nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
-endif
-if X86_64
-nodist_libffi_la_SOURCES += src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-endif
-if SH
-nodist_libffi_la_SOURCES += src/sh/sysv.S src/sh/ffi.c
-endif
-if SH64
-nodist_libffi_la_SOURCES += src/sh64/sysv.S src/sh64/ffi.c
-endif
-if PA_LINUX
-nodist_libffi_la_SOURCES += src/pa/linux.S src/pa/ffi.c
-endif
-if PA_HPUX
-nodist_libffi_la_SOURCES += src/pa/hpux32.S src/pa/ffi.c
-endif
-
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-
-AM_CFLAGS = -g
-if FFI_DEBUG
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-AM_CFLAGS += -DFFI_DEBUG
-endif
-
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
diff --git a/.pc/msvcc/Makefile.in b/.pc/msvcc/Makefile.in
deleted file mode 100644 (file)
index 6074fda..0000000
+++ /dev/null
@@ -1,1832 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-@MIPS_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-@X86_TRUE@am__append_2 = src/x86/ffi.c src/x86/sysv.S
-@X86_FREEBSD_TRUE@am__append_3 = src/x86/ffi.c src/x86/freebsd.S
-@X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
-@X86_WIN64_TRUE@am__append_5 = src/x86/ffi.c src/x86/win64.S
-@X86_DARWIN_TRUE@am__append_6 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-@SPARC_TRUE@am__append_7 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-@ALPHA_TRUE@am__append_8 = src/alpha/ffi.c src/alpha/osf.S
-@IA64_TRUE@am__append_9 = src/ia64/ffi.c src/ia64/unix.S
-@M32R_TRUE@am__append_10 = src/m32r/sysv.S src/m32r/ffi.c
-@M68K_TRUE@am__append_11 = src/m68k/ffi.c src/m68k/sysv.S
-@POWERPC_TRUE@am__append_12 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-@POWERPC_AIX_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-@POWERPC_DARWIN_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-@POWERPC_FREEBSD_TRUE@am__append_15 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-@ARM_TRUE@am__append_16 = src/arm/sysv.S src/arm/ffi.c
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_17 = src/arm/trampoline.S
-@AVR32_TRUE@am__append_18 = src/avr32/sysv.S src/avr32/ffi.c
-@LIBFFI_CRIS_TRUE@am__append_19 = src/cris/sysv.S src/cris/ffi.c
-@FRV_TRUE@am__append_20 = src/frv/eabi.S src/frv/ffi.c
-@MOXIE_TRUE@am__append_21 = src/moxie/eabi.S src/moxie/ffi.c
-@S390_TRUE@am__append_22 = src/s390/sysv.S src/s390/ffi.c
-@X86_64_TRUE@am__append_23 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-@SH_TRUE@am__append_24 = src/sh/sysv.S src/sh/ffi.c
-@SH64_TRUE@am__append_25 = src/sh64/sysv.S src/sh64/ffi.c
-@PA_LINUX_TRUE@am__append_26 = src/pa/linux.S src/pa/ffi.c
-@PA_HPUX_TRUE@am__append_27 = src/pa/hpux32.S src/pa/ffi.c
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-@FFI_DEBUG_TRUE@am__append_28 = -DFFI_DEBUG
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
-       $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
-       $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
-       compile config.guess config.sub depcomp install-sh ltmain.sh \
-       mdate-sh missing texinfo.tex
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
-       $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = fficonfig.h
-CONFIG_CLEAN_FILES = libffi.pc
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" \
-       "$(DESTDIR)$(pkgconfigdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-libffi_la_LIBADD =
-am__dirstamp = $(am__leading_dot)dirstamp
-am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
-       src/raw_api.lo src/java_raw_api.lo src/closures.lo
-@MIPS_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
-@MIPS_TRUE@    src/mips/n32.lo
-@X86_TRUE@am__objects_2 = src/x86/ffi.lo src/x86/sysv.lo
-@X86_FREEBSD_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/freebsd.lo
-@X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
-@X86_WIN64_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win64.lo
-@X86_DARWIN_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/darwin.lo \
-@X86_DARWIN_TRUE@      src/x86/ffi64.lo src/x86/darwin64.lo
-@SPARC_TRUE@am__objects_7 = src/sparc/ffi.lo src/sparc/v8.lo \
-@SPARC_TRUE@   src/sparc/v9.lo
-@ALPHA_TRUE@am__objects_8 = src/alpha/ffi.lo src/alpha/osf.lo
-@IA64_TRUE@am__objects_9 = src/ia64/ffi.lo src/ia64/unix.lo
-@M32R_TRUE@am__objects_10 = src/m32r/sysv.lo src/m32r/ffi.lo
-@M68K_TRUE@am__objects_11 = src/m68k/ffi.lo src/m68k/sysv.lo
-@POWERPC_TRUE@am__objects_12 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
-@POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
-@POWERPC_TRUE@ src/powerpc/linux64.lo \
-@POWERPC_TRUE@ src/powerpc/linux64_closure.lo
-@POWERPC_AIX_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
-@POWERPC_AIX_TRUE@     src/powerpc/aix.lo \
-@POWERPC_AIX_TRUE@     src/powerpc/aix_closure.lo
-@POWERPC_DARWIN_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
-@POWERPC_DARWIN_TRUE@  src/powerpc/darwin.lo \
-@POWERPC_DARWIN_TRUE@  src/powerpc/darwin_closure.lo
-@POWERPC_FREEBSD_TRUE@am__objects_15 = src/powerpc/ffi.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
-@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_17 = src/arm/trampoline.lo
-@AVR32_TRUE@am__objects_18 = src/avr32/sysv.lo src/avr32/ffi.lo
-@LIBFFI_CRIS_TRUE@am__objects_19 = src/cris/sysv.lo src/cris/ffi.lo
-@FRV_TRUE@am__objects_20 = src/frv/eabi.lo src/frv/ffi.lo
-@MOXIE_TRUE@am__objects_21 = src/moxie/eabi.lo src/moxie/ffi.lo
-@S390_TRUE@am__objects_22 = src/s390/sysv.lo src/s390/ffi.lo
-@X86_64_TRUE@am__objects_23 = src/x86/ffi64.lo src/x86/unix64.lo \
-@X86_64_TRUE@  src/x86/ffi.lo src/x86/sysv.lo
-@SH_TRUE@am__objects_24 = src/sh/sysv.lo src/sh/ffi.lo
-@SH64_TRUE@am__objects_25 = src/sh64/sysv.lo src/sh64/ffi.lo
-@PA_LINUX_TRUE@am__objects_26 = src/pa/linux.lo src/pa/ffi.lo
-@PA_HPUX_TRUE@am__objects_27 = src/pa/hpux32.lo src/pa/ffi.lo
-nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
-       $(am__objects_3) $(am__objects_4) $(am__objects_5) \
-       $(am__objects_6) $(am__objects_7) $(am__objects_8) \
-       $(am__objects_9) $(am__objects_10) $(am__objects_11) \
-       $(am__objects_12) $(am__objects_13) $(am__objects_14) \
-       $(am__objects_15) $(am__objects_16) $(am__objects_17) \
-       $(am__objects_18) $(am__objects_19) $(am__objects_20) \
-       $(am__objects_21) $(am__objects_22) $(am__objects_23) \
-       $(am__objects_24) $(am__objects_25) $(am__objects_26) \
-       $(am__objects_27)
-libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
-       $(nodist_libffi_la_OBJECTS)
-libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
-libffi_convenience_la_LIBADD =
-am__objects_28 = src/debug.lo src/prep_cif.lo src/types.lo \
-       src/raw_api.lo src/java_raw_api.lo src/closures.lo
-am_libffi_convenience_la_OBJECTS = $(am__objects_28)
-am__objects_29 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
-       $(am__objects_4) $(am__objects_5) $(am__objects_6) \
-       $(am__objects_7) $(am__objects_8) $(am__objects_9) \
-       $(am__objects_10) $(am__objects_11) $(am__objects_12) \
-       $(am__objects_13) $(am__objects_14) $(am__objects_15) \
-       $(am__objects_16) $(am__objects_17) $(am__objects_18) \
-       $(am__objects_19) $(am__objects_20) $(am__objects_21) \
-       $(am__objects_22) $(am__objects_23) $(am__objects_24) \
-       $(am__objects_25) $(am__objects_26) $(am__objects_27)
-nodist_libffi_convenience_la_OBJECTS = $(am__objects_29)
-libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
-       $(nodist_libffi_convenience_la_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
-       $(libffi_convenience_la_SOURCES) \
-       $(nodist_libffi_convenience_la_SOURCES)
-DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
-INFO_DEPS = $(srcdir)/doc/libffi.info
-am__TEXINFO_TEX_DIR = $(srcdir)
-DVIS = doc/libffi.dvi
-PDFS = doc/libffi.pdf
-PSS = doc/libffi.ps
-HTMLS = doc/libffi.html
-TEXINFOS = doc/libffi.texi
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-DVIPS = dvips
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-DATA = $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_LTLDFLAGS = @AM_LTLDFLAGS@
-AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASDEPMODE = @CCASDEPMODE@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TARGET = @TARGET@
-TARGETDIR = @TARGETDIR@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign subdir-objects
-SUBDIRS = include testsuite man
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
-       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
-       src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
-       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
-       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
-       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
-       src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
-       src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
-       src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
-       src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
-       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
-       src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
-       src/powerpc/darwin.S src/powerpc/aix_closure.S \
-       src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
-       src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
-       src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
-       src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
-       src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
-       src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
-       src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
-       src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
-       src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
-       src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
-       src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
-       src/moxie/ffi.c src/moxie/eabi.S libtool-version \
-       ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
-       m4/ltoptions.m4 m4/ltsugar.m4
-
-info_TEXINFOS = doc/libffi.texi
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
-       "AR_FLAGS=$(AR_FLAGS)" \
-       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
-       "CFLAGS=$(CFLAGS)" \
-       "CXXFLAGS=$(CXXFLAGS)" \
-       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
-       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
-       "INSTALL=$(INSTALL)" \
-       "INSTALL_DATA=$(INSTALL_DATA)" \
-       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
-       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
-       "JC1FLAGS=$(JC1FLAGS)" \
-       "LDFLAGS=$(LDFLAGS)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
-       "MAKE=$(MAKE)" \
-       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
-       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-       "SHELL=$(SHELL)" \
-       "exec_prefix=$(exec_prefix)" \
-       "infodir=$(infodir)" \
-       "libdir=$(libdir)" \
-       "mandir=$(mandir)" \
-       "prefix=$(prefix)" \
-       "AR=$(AR)" \
-       "AS=$(AS)" \
-       "CC=$(CC)" \
-       "CXX=$(CXX)" \
-       "LD=$(LD)" \
-       "NM=$(NM)" \
-       "RANLIB=$(RANLIB)" \
-       "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES = 
-ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
-               src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
-       $(am__append_3) $(am__append_4) $(am__append_5) \
-       $(am__append_6) $(am__append_7) $(am__append_8) \
-       $(am__append_9) $(am__append_10) $(am__append_11) \
-       $(am__append_12) $(am__append_13) $(am__append_14) \
-       $(am__append_15) $(am__append_16) $(am__append_17) \
-       $(am__append_18) $(am__append_19) $(am__append_20) \
-       $(am__append_21) $(am__append_22) $(am__append_23) \
-       $(am__append_24) $(am__append_25) $(am__append_26) \
-       $(am__append_27)
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-AM_CFLAGS = -g $(am__append_28)
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-all: fficonfig.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .S .c .dvi .lo .o .obj .ps
-am--refresh:
-       @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
-             $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           echo ' $(SHELL) ./config.status'; \
-           $(SHELL) ./config.status;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-       $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-       $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-fficonfig.h: stamp-h1
-       @if test ! -f $@; then \
-         rm -f stamp-h1; \
-         $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-       else :; fi
-
-stamp-h1: $(srcdir)/fficonfig.h.in $(top_builddir)/config.status
-       @rm -f stamp-h1
-       cd $(top_builddir) && $(SHELL) ./config.status fficonfig.h
-$(srcdir)/fficonfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
-       ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-       rm -f stamp-h1
-       touch $@
-
-distclean-hdr:
-       -rm -f fficonfig.h stamp-h1
-libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-       @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-       list2=; for p in $$list; do \
-         if test -f $$p; then \
-           list2="$$list2 $$p"; \
-         else :; fi; \
-       done; \
-       test -z "$$list2" || { \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
-       }
-
-uninstall-libLTLIBRARIES:
-       @$(NORMAL_UNINSTALL)
-       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
-       done
-
-clean-libLTLIBRARIES:
-       -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-
-clean-noinstLTLIBRARIES:
-       -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-src/$(am__dirstamp):
-       @$(MKDIR_P) src
-       @: > src/$(am__dirstamp)
-src/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/$(DEPDIR)
-       @: > src/$(DEPDIR)/$(am__dirstamp)
-src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/mips/$(am__dirstamp):
-       @$(MKDIR_P) src/mips
-       @: > src/mips/$(am__dirstamp)
-src/mips/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/mips/$(DEPDIR)
-       @: > src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/ffi.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/o32.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/n32.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/x86/$(am__dirstamp):
-       @$(MKDIR_P) src/x86
-       @: > src/x86/$(am__dirstamp)
-src/x86/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/x86/$(DEPDIR)
-       @: > src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/sysv.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/freebsd.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win32.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sparc/$(am__dirstamp):
-       @$(MKDIR_P) src/sparc
-       @: > src/sparc/$(am__dirstamp)
-src/sparc/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sparc/$(DEPDIR)
-       @: > src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/ffi.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v8.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v9.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/alpha/$(am__dirstamp):
-       @$(MKDIR_P) src/alpha
-       @: > src/alpha/$(am__dirstamp)
-src/alpha/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/alpha/$(DEPDIR)
-       @: > src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/ffi.lo: src/alpha/$(am__dirstamp) \
-       src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/osf.lo: src/alpha/$(am__dirstamp) \
-       src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/ia64/$(am__dirstamp):
-       @$(MKDIR_P) src/ia64
-       @: > src/ia64/$(am__dirstamp)
-src/ia64/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/ia64/$(DEPDIR)
-       @: > src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/ffi.lo: src/ia64/$(am__dirstamp) \
-       src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/unix.lo: src/ia64/$(am__dirstamp) \
-       src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/m32r/$(am__dirstamp):
-       @$(MKDIR_P) src/m32r
-       @: > src/m32r/$(am__dirstamp)
-src/m32r/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/m32r/$(DEPDIR)
-       @: > src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/sysv.lo: src/m32r/$(am__dirstamp) \
-       src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/ffi.lo: src/m32r/$(am__dirstamp) \
-       src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m68k/$(am__dirstamp):
-       @$(MKDIR_P) src/m68k
-       @: > src/m68k/$(am__dirstamp)
-src/m68k/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/m68k/$(DEPDIR)
-       @: > src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \
-       src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
-       src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/$(am__dirstamp):
-       @$(MKDIR_P) src/powerpc
-       @: > src/powerpc/$(am__dirstamp)
-src/powerpc/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/powerpc/$(DEPDIR)
-       @: > src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/sysv.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ppc_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/arm/$(am__dirstamp):
-       @$(MKDIR_P) src/arm
-       @: > src/arm/$(am__dirstamp)
-src/arm/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/arm/$(DEPDIR)
-       @: > src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/sysv.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/ffi.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/trampoline.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/avr32/$(am__dirstamp):
-       @$(MKDIR_P) src/avr32
-       @: > src/avr32/$(am__dirstamp)
-src/avr32/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/avr32/$(DEPDIR)
-       @: > src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/sysv.lo: src/avr32/$(am__dirstamp) \
-       src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/ffi.lo: src/avr32/$(am__dirstamp) \
-       src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/cris/$(am__dirstamp):
-       @$(MKDIR_P) src/cris
-       @: > src/cris/$(am__dirstamp)
-src/cris/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/cris/$(DEPDIR)
-       @: > src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/sysv.lo: src/cris/$(am__dirstamp) \
-       src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/ffi.lo: src/cris/$(am__dirstamp) \
-       src/cris/$(DEPDIR)/$(am__dirstamp)
-src/frv/$(am__dirstamp):
-       @$(MKDIR_P) src/frv
-       @: > src/frv/$(am__dirstamp)
-src/frv/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/frv/$(DEPDIR)
-       @: > src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/eabi.lo: src/frv/$(am__dirstamp) \
-       src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/ffi.lo: src/frv/$(am__dirstamp) \
-       src/frv/$(DEPDIR)/$(am__dirstamp)
-src/moxie/$(am__dirstamp):
-       @$(MKDIR_P) src/moxie
-       @: > src/moxie/$(am__dirstamp)
-src/moxie/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/moxie/$(DEPDIR)
-       @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
-       src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
-       src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/s390/$(am__dirstamp):
-       @$(MKDIR_P) src/s390
-       @: > src/s390/$(am__dirstamp)
-src/s390/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/s390/$(DEPDIR)
-       @: > src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/sysv.lo: src/s390/$(am__dirstamp) \
-       src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/ffi.lo: src/s390/$(am__dirstamp) \
-       src/s390/$(DEPDIR)/$(am__dirstamp)
-src/x86/unix64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sh/$(am__dirstamp):
-       @$(MKDIR_P) src/sh
-       @: > src/sh/$(am__dirstamp)
-src/sh/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sh/$(DEPDIR)
-       @: > src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/sysv.lo: src/sh/$(am__dirstamp) \
-       src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/ffi.lo: src/sh/$(am__dirstamp) src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh64/$(am__dirstamp):
-       @$(MKDIR_P) src/sh64
-       @: > src/sh64/$(am__dirstamp)
-src/sh64/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sh64/$(DEPDIR)
-       @: > src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/sysv.lo: src/sh64/$(am__dirstamp) \
-       src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/ffi.lo: src/sh64/$(am__dirstamp) \
-       src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/pa/$(am__dirstamp):
-       @$(MKDIR_P) src/pa
-       @: > src/pa/$(am__dirstamp)
-src/pa/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/pa/$(DEPDIR)
-       @: > src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/linux.lo: src/pa/$(am__dirstamp) \
-       src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
-       src/pa/$(DEPDIR)/$(am__dirstamp)
-libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) 
-       $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
-libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) 
-       $(LINK)  $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-       -rm -f src/alpha/ffi.$(OBJEXT)
-       -rm -f src/alpha/ffi.lo
-       -rm -f src/alpha/osf.$(OBJEXT)
-       -rm -f src/alpha/osf.lo
-       -rm -f src/arm/ffi.$(OBJEXT)
-       -rm -f src/arm/ffi.lo
-       -rm -f src/arm/sysv.$(OBJEXT)
-       -rm -f src/arm/sysv.lo
-       -rm -f src/arm/trampoline.$(OBJEXT)
-       -rm -f src/arm/trampoline.lo
-       -rm -f src/avr32/ffi.$(OBJEXT)
-       -rm -f src/avr32/ffi.lo
-       -rm -f src/avr32/sysv.$(OBJEXT)
-       -rm -f src/avr32/sysv.lo
-       -rm -f src/closures.$(OBJEXT)
-       -rm -f src/closures.lo
-       -rm -f src/cris/ffi.$(OBJEXT)
-       -rm -f src/cris/ffi.lo
-       -rm -f src/cris/sysv.$(OBJEXT)
-       -rm -f src/cris/sysv.lo
-       -rm -f src/debug.$(OBJEXT)
-       -rm -f src/debug.lo
-       -rm -f src/frv/eabi.$(OBJEXT)
-       -rm -f src/frv/eabi.lo
-       -rm -f src/frv/ffi.$(OBJEXT)
-       -rm -f src/frv/ffi.lo
-       -rm -f src/ia64/ffi.$(OBJEXT)
-       -rm -f src/ia64/ffi.lo
-       -rm -f src/ia64/unix.$(OBJEXT)
-       -rm -f src/ia64/unix.lo
-       -rm -f src/java_raw_api.$(OBJEXT)
-       -rm -f src/java_raw_api.lo
-       -rm -f src/m32r/ffi.$(OBJEXT)
-       -rm -f src/m32r/ffi.lo
-       -rm -f src/m32r/sysv.$(OBJEXT)
-       -rm -f src/m32r/sysv.lo
-       -rm -f src/m68k/ffi.$(OBJEXT)
-       -rm -f src/m68k/ffi.lo
-       -rm -f src/m68k/sysv.$(OBJEXT)
-       -rm -f src/m68k/sysv.lo
-       -rm -f src/mips/ffi.$(OBJEXT)
-       -rm -f src/mips/ffi.lo
-       -rm -f src/mips/n32.$(OBJEXT)
-       -rm -f src/mips/n32.lo
-       -rm -f src/mips/o32.$(OBJEXT)
-       -rm -f src/mips/o32.lo
-       -rm -f src/moxie/eabi.$(OBJEXT)
-       -rm -f src/moxie/eabi.lo
-       -rm -f src/moxie/ffi.$(OBJEXT)
-       -rm -f src/moxie/ffi.lo
-       -rm -f src/pa/ffi.$(OBJEXT)
-       -rm -f src/pa/ffi.lo
-       -rm -f src/pa/hpux32.$(OBJEXT)
-       -rm -f src/pa/hpux32.lo
-       -rm -f src/pa/linux.$(OBJEXT)
-       -rm -f src/pa/linux.lo
-       -rm -f src/powerpc/aix.$(OBJEXT)
-       -rm -f src/powerpc/aix.lo
-       -rm -f src/powerpc/aix_closure.$(OBJEXT)
-       -rm -f src/powerpc/aix_closure.lo
-       -rm -f src/powerpc/darwin.$(OBJEXT)
-       -rm -f src/powerpc/darwin.lo
-       -rm -f src/powerpc/darwin_closure.$(OBJEXT)
-       -rm -f src/powerpc/darwin_closure.lo
-       -rm -f src/powerpc/ffi.$(OBJEXT)
-       -rm -f src/powerpc/ffi.lo
-       -rm -f src/powerpc/ffi_darwin.$(OBJEXT)
-       -rm -f src/powerpc/ffi_darwin.lo
-       -rm -f src/powerpc/linux64.$(OBJEXT)
-       -rm -f src/powerpc/linux64.lo
-       -rm -f src/powerpc/linux64_closure.$(OBJEXT)
-       -rm -f src/powerpc/linux64_closure.lo
-       -rm -f src/powerpc/ppc_closure.$(OBJEXT)
-       -rm -f src/powerpc/ppc_closure.lo
-       -rm -f src/powerpc/sysv.$(OBJEXT)
-       -rm -f src/powerpc/sysv.lo
-       -rm -f src/prep_cif.$(OBJEXT)
-       -rm -f src/prep_cif.lo
-       -rm -f src/raw_api.$(OBJEXT)
-       -rm -f src/raw_api.lo
-       -rm -f src/s390/ffi.$(OBJEXT)
-       -rm -f src/s390/ffi.lo
-       -rm -f src/s390/sysv.$(OBJEXT)
-       -rm -f src/s390/sysv.lo
-       -rm -f src/sh/ffi.$(OBJEXT)
-       -rm -f src/sh/ffi.lo
-       -rm -f src/sh/sysv.$(OBJEXT)
-       -rm -f src/sh/sysv.lo
-       -rm -f src/sh64/ffi.$(OBJEXT)
-       -rm -f src/sh64/ffi.lo
-       -rm -f src/sh64/sysv.$(OBJEXT)
-       -rm -f src/sh64/sysv.lo
-       -rm -f src/sparc/ffi.$(OBJEXT)
-       -rm -f src/sparc/ffi.lo
-       -rm -f src/sparc/v8.$(OBJEXT)
-       -rm -f src/sparc/v8.lo
-       -rm -f src/sparc/v9.$(OBJEXT)
-       -rm -f src/sparc/v9.lo
-       -rm -f src/types.$(OBJEXT)
-       -rm -f src/types.lo
-       -rm -f src/x86/darwin.$(OBJEXT)
-       -rm -f src/x86/darwin.lo
-       -rm -f src/x86/darwin64.$(OBJEXT)
-       -rm -f src/x86/darwin64.lo
-       -rm -f src/x86/ffi.$(OBJEXT)
-       -rm -f src/x86/ffi.lo
-       -rm -f src/x86/ffi64.$(OBJEXT)
-       -rm -f src/x86/ffi64.lo
-       -rm -f src/x86/freebsd.$(OBJEXT)
-       -rm -f src/x86/freebsd.lo
-       -rm -f src/x86/sysv.$(OBJEXT)
-       -rm -f src/x86/sysv.lo
-       -rm -f src/x86/unix64.$(OBJEXT)
-       -rm -f src/x86/unix64.lo
-       -rm -f src/x86/win32.$(OBJEXT)
-       -rm -f src/x86/win32.lo
-       -rm -f src/x86/win64.$(OBJEXT)
-       -rm -f src/x86/win64.lo
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/closures.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/debug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/java_raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/prep_cif.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/types.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/unix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi_darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ppc_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v8.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/freebsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/unix64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win64.Plo@am__quote@
-
-.S.o:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(CPPASCOMPILE) -c -o $@ $<
-
-.S.obj:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.S.lo:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(LTCPPASCOMPILE) -c -o $@ $<
-
-.c.o:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-       -rm -rf src/.libs src/_libs
-       -rm -rf src/alpha/.libs src/alpha/_libs
-       -rm -rf src/arm/.libs src/arm/_libs
-       -rm -rf src/avr32/.libs src/avr32/_libs
-       -rm -rf src/cris/.libs src/cris/_libs
-       -rm -rf src/frv/.libs src/frv/_libs
-       -rm -rf src/ia64/.libs src/ia64/_libs
-       -rm -rf src/m32r/.libs src/m32r/_libs
-       -rm -rf src/m68k/.libs src/m68k/_libs
-       -rm -rf src/mips/.libs src/mips/_libs
-       -rm -rf src/moxie/.libs src/moxie/_libs
-       -rm -rf src/pa/.libs src/pa/_libs
-       -rm -rf src/powerpc/.libs src/powerpc/_libs
-       -rm -rf src/s390/.libs src/s390/_libs
-       -rm -rf src/sh/.libs src/sh/_libs
-       -rm -rf src/sh64/.libs src/sh64/_libs
-       -rm -rf src/sparc/.libs src/sparc/_libs
-       -rm -rf src/x86/.libs src/x86/_libs
-
-distclean-libtool:
-       -rm -f libtool config.lt
-doc/$(am__dirstamp):
-       @$(MKDIR_P) doc
-       @: > doc/$(am__dirstamp)
-
-$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
-       restore=: && backupdir="$(am__leading_dot)am$$$$" && \
-       am__cwd=`pwd` && $(am__cd) $(srcdir) && \
-       rm -rf $$backupdir && mkdir $$backupdir && \
-       if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
-         for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
-           if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
-         done; \
-       else :; fi && \
-       cd "$$am__cwd"; \
-       if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-        -o $@ $(srcdir)/doc/libffi.texi; \
-       then \
-         rc=0; \
-         $(am__cd) $(srcdir); \
-       else \
-         rc=$$?; \
-         $(am__cd) $(srcdir) && \
-         $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
-       fi; \
-       rm -rf $$backupdir; exit $$rc
-
-doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-       $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-       $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       rm -rf $(@:.html=.htp)
-       if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-        -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
-       then \
-         rm -rf $@; \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
-       else \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
-         exit 1; \
-       fi
-$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
-$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
-       test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
-       @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
-       set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
-       echo "@set UPDATED $$1 $$2 $$3"; \
-       echo "@set UPDATED-MONTH $$2 $$3"; \
-       echo "@set EDITION $(VERSION)"; \
-       echo "@set VERSION $(VERSION)") > vti.tmp
-       @cmp -s vti.tmp $(srcdir)/doc/version.texi \
-         || (echo "Updating $(srcdir)/doc/version.texi"; \
-             cp vti.tmp $(srcdir)/doc/version.texi)
-       -@rm -f vti.tmp
-       @cp $(srcdir)/doc/version.texi $@
-
-mostlyclean-vti:
-       -rm -f vti.tmp
-
-maintainer-clean-vti:
-@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
-.dvi.ps:
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       $(DVIPS) -o $@ $<
-
-uninstall-dvi-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
-         rm -f "$(DESTDIR)$(dvidir)/$$f"; \
-       done
-
-uninstall-html-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
-         rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
-       done
-
-uninstall-info-am:
-       @$(PRE_UNINSTALL)
-       @if test -d '$(DESTDIR)$(infodir)' && \
-           (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
-         list='$(INFO_DEPS)'; \
-         for file in $$list; do \
-           relfile=`echo "$$file" | sed 's|^.*/||'`; \
-           echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
-           if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
-           then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
-         done; \
-       else :; fi
-       @$(NORMAL_UNINSTALL)
-       @list='$(INFO_DEPS)'; \
-       for file in $$list; do \
-         relfile=`echo "$$file" | sed 's|^.*/||'`; \
-         relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
-         (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
-            echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
-            rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
-          else :; fi); \
-       done
-
-uninstall-pdf-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
-         rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
-       done
-
-uninstall-ps-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(PSS)'; test -n "$(psdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
-         rm -f "$(DESTDIR)$(psdir)/$$f"; \
-       done
-
-dist-info: $(INFO_DEPS)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-       list='$(INFO_DEPS)'; \
-       for base in $$list; do \
-         case $$base in \
-           $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
-         esac; \
-         if test -f $$base; then d=.; else d=$(srcdir); fi; \
-         base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
-         for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
-           if test -f $$file; then \
-             relfile=`expr "$$file" : "$$d/\(.*\)"`; \
-             test -f "$(distdir)/$$relfile" || \
-               cp -p $$file "$(distdir)/$$relfile"; \
-           else :; fi; \
-         done; \
-       done
-
-mostlyclean-aminfo:
-       -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
-         libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
-
-clean-aminfo:
-       -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
-       || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
-
-maintainer-clean-aminfo:
-       @list='$(INFO_DEPS)'; for i in $$list; do \
-         i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
-         echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
-         rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
-       done
-install-pkgconfigDATA: $(pkgconfig_DATA)
-       @$(NORMAL_INSTALL)
-       test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
-       done
-
-uninstall-pkgconfigDATA:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       test -n "$$files" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-info
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
-installdirs: installdirs-recursive
-installdirs-am:
-       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -rm -f doc/$(am__dirstamp)
-       -rm -f src/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/$(am__dirstamp)
-       -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/alpha/$(am__dirstamp)
-       -rm -f src/arm/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/arm/$(am__dirstamp)
-       -rm -f src/avr32/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/avr32/$(am__dirstamp)
-       -rm -f src/cris/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/cris/$(am__dirstamp)
-       -rm -f src/frv/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/frv/$(am__dirstamp)
-       -rm -f src/ia64/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/ia64/$(am__dirstamp)
-       -rm -f src/m32r/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/m32r/$(am__dirstamp)
-       -rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/m68k/$(am__dirstamp)
-       -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/mips/$(am__dirstamp)
-       -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/moxie/$(am__dirstamp)
-       -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/pa/$(am__dirstamp)
-       -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/powerpc/$(am__dirstamp)
-       -rm -f src/s390/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/s390/$(am__dirstamp)
-       -rm -f src/sh/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sh/$(am__dirstamp)
-       -rm -f src/sh64/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sh64/$(am__dirstamp)
-       -rm -f src/sparc/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sparc/$(am__dirstamp)
-       -rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/x86/$(am__dirstamp)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
-       clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am: $(DVIS)
-
-html: html-recursive
-
-html-am: $(HTMLS)
-
-info: info-recursive
-
-info-am: $(INFO_DEPS)
-
-install-data-am: install-info-am install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am: $(DVIS)
-       @$(NORMAL_INSTALL)
-       test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
-       @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
-       done
-install-exec-am: install-libLTLIBRARIES
-
-install-html-am: $(HTMLS)
-       @$(NORMAL_INSTALL)
-       test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
-       @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         $(am__strip_dir) \
-         if test -d "$$d$$p"; then \
-           echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
-           echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
-         else \
-           list2="$$list2 $$d$$p"; \
-         fi; \
-       done; \
-       test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
-       done; }
-install-info: install-info-recursive
-
-install-info-am: $(INFO_DEPS)
-       @$(NORMAL_INSTALL)
-       test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-       list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
-       for file in $$list; do \
-         case $$file in \
-           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-         esac; \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
-         file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
-         for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
-                      $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
-           if test -f $$ifile; then \
-             echo "$$ifile"; \
-           else : ; fi; \
-         done; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
-       @$(POST_INSTALL)
-       @if (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
-         list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
-         for file in $$list; do \
-           relfile=`echo "$$file" | sed 's|^.*/||'`; \
-           echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
-           install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
-         done; \
-       else : ; fi
-install-man:
-
-install-pdf-am: $(PDFS)
-       @$(NORMAL_INSTALL)
-       test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
-       @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
-install-ps: install-ps-recursive
-
-install-ps-am: $(PSS)
-       @$(NORMAL_INSTALL)
-       test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
-       @list='$(PSS)'; test -n "$(psdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf $(top_srcdir)/autom4te.cache
-       -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-aminfo \
-       maintainer-clean-generic maintainer-clean-vti
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool mostlyclean-vti
-
-pdf: pdf-recursive
-
-pdf-am: $(PDFS)
-
-ps: ps-recursive
-
-ps-am: $(PSS)
-
-uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
-       uninstall-libLTLIBRARIES uninstall-pdf-am \
-       uninstall-pkgconfigDATA uninstall-ps-am
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
-       ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-aminfo \
-       clean-generic clean-libLTLIBRARIES clean-libtool \
-       clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
-       dist-bzip2 dist-gzip dist-info dist-lzma dist-shar dist-tarZ \
-       dist-xz dist-zip distcheck distclean distclean-compile \
-       distclean-generic distclean-hdr distclean-libtool \
-       distclean-tags distcleancheck distdir distuninstallcheck dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-libLTLIBRARIES \
-       install-man install-pdf install-pdf-am install-pkgconfigDATA \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-aminfo maintainer-clean-generic \
-       maintainer-clean-vti mostlyclean mostlyclean-aminfo \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
-       uninstall-info-am uninstall-libLTLIBRARIES uninstall-pdf-am \
-       uninstall-pkgconfigDATA uninstall-ps-am
-
-       m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/.pc/no-undefined-fix/.timestamp b/.pc/no-undefined-fix/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/no-undefined-fix/ChangeLog b/.pc/no-undefined-fix/ChangeLog
deleted file mode 100644 (file)
index 4fa1b4a..0000000
+++ /dev/null
@@ -1,4758 +0,0 @@
-2012-02-23  Anthony Green  <green@moxielogic.com>
-
-       * src/*/ffitarget.h: Ensure that users never include ffitarget.h
-       directly.
-
-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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * 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.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/no-undefined-fix/configure b/.pc/no-undefined-fix/configure
deleted file mode 100755 (executable)
index f4c3e30..0000000
+++ /dev/null
@@ -1,17294 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-FFI_EXEC_TRAMPOLINE_TABLE
-FFI_EXEC_TRAMPOLINE_TABLE_FALSE
-FFI_EXEC_TRAMPOLINE_TABLE_TRUE
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-PRTDIAG
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-ax_enable_builddir_sed
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_builddir
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_portable_binary
-with_gcc_arch
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/libffi]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-builddir      disable automatic build in subdir of sources
-
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-portable-binary
-                          disable compiler optimizations that would produce
-                          unportable binaries
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer
-  --enable-debug          debugging mode
-  --disable-structs       omit code for struct support
-  --disable-raw-api       make the raw api unavailable
-  --enable-purify-safety  purify-safe mode
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-  --with-gcc-arch=<arch>  use architecture <arch> for gcc -march/-mtune,
-                          instead of guessing
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CCAS        assembler compiler command (defaults to CC)
-  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if test "$cross_compiling" = yes; then
-    # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid; break
-else
-  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
-                       if test $ac_lo -le $ac_mid; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=$ac_mid; break
-else
-  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid
-else
-  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (($2) < 0)
-    {
-      long int i = longval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
-  ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
-  fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-
-   # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
-   if test "${ac_configure_args+set}" != "set" ; then
-      ac_configure_args=
-      for ac_arg in ${1+"$@"}; do
-         ac_configure_args="$ac_configure_args '$ac_arg'"
-      done
-   fi
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-
-ax_enable_builddir="."
-# Check whether --enable-builddir was given.
-if test "${enable_builddir+set}" = set; then :
-  enableval=$enable_builddir; ax_enable_builddir="$enableval"
-else
-  ax_enable_builddir="auto"
-fi
-
-if test ".$ac_srcdir_defaulted" != ".no" ; then
-if test ".$srcdir" = ".." ; then
-  if test -f config.status ; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: toplevel srcdir already configured... skipping subdir build" >&5
-$as_echo "$as_me: toplevel srcdir already configured... skipping subdir build" >&6;}
-  else
-    test ".$ax_enable_builddir" = "."  && ax_enable_builddir="."
-    test ".$ax_enable_builddir" = ".no"  && ax_enable_builddir="."
-    test ".$TARGET" = "." && TARGET="$target"
-    test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="$TARGET"
-    if test ".$ax_enable_builddir" != ".." ; then    # we know where to go and
-      as_dir=$ax_enable_builddir; as_fn_mkdir_p
-      echo __.$ax_enable_builddir.__ > $ax_enable_builddir/conftest.tmp
-      cd $ax_enable_builddir
-      if grep __.$ax_enable_builddir.__ conftest.tmp >/dev/null 2>/dev/null ; then
-        rm conftest.tmp
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: continue configure in default builddir \"./$ax_enable_builddir\"" >&5
-$as_echo "continue configure in default builddir \"./$ax_enable_builddir\"" >&6; }
-      else
-        as_fn_error $? "could not change to default builddir \"./$ax_enable_builddir\"" "$LINENO" 5
-      fi
-      srcdir=`echo "$ax_enable_builddir" |
-              sed -e 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g;s,[/]$,,;'`
-      # going to restart from subdirectory location
-      test -f $srcdir/config.log   && mv $srcdir/config.log   .
-      test -f $srcdir/confdefs.h   && mv $srcdir/confdefs.h   .
-      test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
-      test -f $srcdir/$cache_file  && mv $srcdir/$cache_file  .
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: ....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&5
-$as_echo "....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&6; }
-      case "$0" in # restart
-       /\\*) eval $SHELL "'$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
-       *) eval $SHELL "'$srcdir/$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
-      esac ; exit $?
-    fi
-  fi
-fi fi
-test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="."
-# Extract the first word of "gsed sed", so it can be a program name with args.
-set dummy gsed sed; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ax_enable_builddir_sed+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ax_enable_builddir_sed in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ax_enable_builddir_sed="$ax_enable_builddir_sed" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_ax_enable_builddir_sed="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_ax_enable_builddir_sed" && ac_cv_path_ax_enable_builddir_sed="sed"
-  ;;
-esac
-fi
-ax_enable_builddir_sed=$ac_cv_path_ax_enable_builddir_sed
-if test -n "$ax_enable_builddir_sed"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_enable_builddir_sed" >&5
-$as_echo "$ax_enable_builddir_sed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-ax_enable_builddir_auxdir="$am_aux_dir"
-ac_config_commands="$ac_config_commands buildir"
-
-
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CCAS_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CCAS_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
-  am__fastdepCCAS_TRUE=
-  am__fastdepCCAS_FALSE='#'
-else
-  am__fastdepCCAS_TRUE='#'
-  am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
-   if test "$GCC" = yes; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
-           ;;
-         ppc64-*linux*|powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         ppc*-*linux*|powerpc*-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
-        enable_dlopen=no
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl='-Wl,-Wl,,'
-       lt_prog_compiler_pic='-PIC'
-       lt_prog_compiler_static='-Bstatic'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ F* | *Sun*Fortran*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec=
-         hardcode_libdir_flag_spec_ld='-rpath $libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       always_export_symbols=yes
-       file_list_spec='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-       enable_shared_with_static_runtimes=yes
-       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds='chmod 644 $oldlib'
-       postlink_cmds='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_flag_spec_ld='+b $libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-       fi
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec="$LIB"
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler vendor" >&5
-$as_echo_n "checking for C compiler vendor... " >&6; }
-if ${ax_cv_c_compiler_vendor+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # note: don't check for gcc first since some other compilers define __GNUC__
-  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
-           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
-           pathscale: __PATHCC__,__PATHSCALE__
-           clang:     __clang__
-           gnu:       __GNUC__
-           sun:       __SUNPRO_C,__SUNPRO_CC
-           hp:        __HP_cc,__HP_aCC
-           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
-           borland:   __BORLANDC__,__TURBOC__
-           comeau:    __COMO__
-           cray:      _CRAYC
-           kai:       __KCC
-           lcc:       __LCC__
-           sgi:       __sgi,sgi
-           microsoft: _MSC_VER
-           metrowerks: __MWERKS__
-           watcom:    __WATCOMC__
-           portland:  __PGI
-           unknown:   UNKNOWN"
-  for ventest in $vendors; do
-    case $ventest in
-      *:) vendor=$ventest; continue ;;
-      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
-    esac
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-      #if !($vencpp)
-        thisisanerror;
-      #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-  ax_cv_c_compiler_vendor=`echo $vendor | cut -d: -f1`
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5
-$as_echo "$ax_cv_c_compiler_vendor" >&6; }
-
-
-
-
-
-
-# Check whether --enable-portable-binary was given.
-if test "${enable_portable_binary+set}" = set; then :
-  enableval=$enable_portable_binary; acx_maxopt_portable=$withval
-else
-  acx_maxopt_portable=no
-fi
-
-
-# Try to determine "good" native compiler flags if none specified via CFLAGS
-if test "$ac_test_CFLAGS" != "set"; then
-  CFLAGS=""
-  case $ax_cv_c_compiler_vendor in
-    dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
-        if test "x$acx_maxopt_portable" = xno; then
-           CFLAGS="$CFLAGS -arch host"
-         fi;;
-
-    sun) CFLAGS="-native -fast -xO5 -dalign"
-        if test "x$acx_maxopt_portable" = xyes; then
-          CFLAGS="$CFLAGS -xarch=generic"
-         fi;;
-
-    hp)  CFLAGS="+Oall +Optrs_ansi +DSnative"
-        if test "x$acx_maxopt_portable" = xyes; then
-          CFLAGS="$CFLAGS +DAportable"
-        fi;;
-
-    ibm) if test "x$acx_maxopt_portable" = xno; then
-           xlc_opt="-qarch=auto -qtune=auto"
-        else
-           xlc_opt="-qtune=auto"
-        fi
-         as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$xlc_opt" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $xlc_opt" >&5
-$as_echo_n "checking whether C compiler accepts $xlc_opt... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS  $xlc_opt"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_CACHEVAR=yes"
-else
-  eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
-  CFLAGS="-O3 -qansialias -w $xlc_opt"
-else
-  CFLAGS="-O3 -qansialias -w"
-                echo "******************************************************"
-                echo "*  You seem to have the IBM  C compiler.  It is      *"
-                echo "*  recommended for best performance that you use:    *"
-                echo "*                                                    *"
-                echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
-                echo "*                      ^^^        ^^^                *"
-                echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of *"
-                echo "*  CPU you have.  (Set the CFLAGS environment var.   *"
-                echo "*  and re-run configure.)  For more info, man cc.    *"
-                echo "******************************************************"
-fi
-
-         ;;
-
-    intel) CFLAGS="-O3 -ansi_alias"
-       if test "x$acx_maxopt_portable" = xno; then
-         icc_archflag=unknown
-         icc_flags=""
-         case $host_cpu in
-           i686*|x86_64*)
-              # icc accepts gcc assembly syntax, so these should work:
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
-$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
-if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ax_cv_gcc_x86_cpuid_0=unknown
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-
-     int op = 0, eax, ebx, ecx, edx;
-     FILE *f;
-      __asm__("cpuid"
-        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
-        : "a" (op));
-     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
-     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
-     fclose(f);
-     return 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
-else
-  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
-$as_echo "$ax_cv_gcc_x86_cpuid_0" >&6; }
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
-$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
-if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ax_cv_gcc_x86_cpuid_1=unknown
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-
-     int op = 1, eax, ebx, ecx, edx;
-     FILE *f;
-      __asm__("cpuid"
-        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
-        : "a" (op));
-     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
-     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
-     fclose(f);
-     return 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
-else
-  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
-$as_echo "$ax_cv_gcc_x86_cpuid_1" >&6; }
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-             case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
-                *:756e6547:*:*) # Intel
-                  case $ax_cv_gcc_x86_cpuid_1 in
-                    *6a?:*[234]:*:*|*6[789b]?:*:*:*) icc_flags="-xK";;
-                    *f3[347]:*:*:*|*f41347:*:*:*) icc_flags="-xP -xN -xW -xK";;
-                    *f??:*:*:*) icc_flags="-xN -xW -xK";;
-                  esac ;;
-              esac ;;
-          esac
-          if test "x$icc_flags" != x; then
-            for flag in $icc_flags; do
-              as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS  $flag"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_CACHEVAR=yes"
-else
-  eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
-  icc_archflag=$flag; break
-else
-  :
-fi
-
-            done
-          fi
-          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icc architecture flag" >&5
-$as_echo_n "checking for icc architecture flag... " >&6; }
-         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $icc_archflag" >&5
-$as_echo "$icc_archflag" >&6; }
-          if test "x$icc_archflag" != xunknown; then
-            CFLAGS="$CFLAGS $icc_archflag"
-          fi
-        fi
-       ;;
-
-    gnu)
-     # default optimization flags for gcc on all systems
-     CFLAGS="-O3 -fomit-frame-pointer"
-
-     # -malign-double for x86 systems
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5
-$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; }
-if ${ax_cv_check_cflags___malign_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS  -malign-double"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ax_cv_check_cflags___malign_double=yes
-else
-  ax_cv_check_cflags___malign_double=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___malign_double" >&5
-$as_echo "$ax_cv_check_cflags___malign_double" >&6; }
-if test x"$ax_cv_check_cflags___malign_double" = xyes; then :
-  CFLAGS="$CFLAGS -malign-double"
-else
-  :
-fi
-
-
-     #  -fstrict-aliasing for gcc-2.95+
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5
-$as_echo_n "checking whether C compiler accepts -fstrict-aliasing... " >&6; }
-if ${ax_cv_check_cflags___fstrict_aliasing+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS  -fstrict-aliasing"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ax_cv_check_cflags___fstrict_aliasing=yes
-else
-  ax_cv_check_cflags___fstrict_aliasing=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstrict_aliasing" >&5
-$as_echo "$ax_cv_check_cflags___fstrict_aliasing" >&6; }
-if test x"$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
-  CFLAGS="$CFLAGS -fstrict-aliasing"
-else
-  :
-fi
-
-
-     # note that we enable "unsafe" fp optimization with other compilers, too
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -ffast-math" >&5
-$as_echo_n "checking whether C compiler accepts -ffast-math... " >&6; }
-if ${ax_cv_check_cflags___ffast_math+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS  -ffast-math"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ax_cv_check_cflags___ffast_math=yes
-else
-  ax_cv_check_cflags___ffast_math=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffast_math" >&5
-$as_echo "$ax_cv_check_cflags___ffast_math" >&6; }
-if test x"$ax_cv_check_cflags___ffast_math" = xyes; then :
-  CFLAGS="$CFLAGS -ffast-math"
-else
-  :
-fi
-
-
-
-
-
-
-# Check whether --with-gcc-arch was given.
-if test "${with_gcc_arch+set}" = set; then :
-  withval=$with_gcc_arch; ax_gcc_arch=$withval
-else
-  ax_gcc_arch=yes
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
-$as_echo_n "checking for gcc architecture flag... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
-$as_echo "" >&6; }
-if ${ax_cv_gcc_archflag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-ax_cv_gcc_archflag="unknown"
-
-if test "$GCC" = yes; then
-
-if test "x$ax_gcc_arch" = xyes; then
-ax_gcc_arch=""
-if test "$cross_compiling" = no; then
-case $host_cpu in
-  i[3456]86*|x86_64*) # use cpuid codes, in part from x86info-1.7 by D. Jones
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
-$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
-if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ax_cv_gcc_x86_cpuid_0=unknown
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-
-     int op = 0, eax, ebx, ecx, edx;
-     FILE *f;
-      __asm__("cpuid"
-        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
-        : "a" (op));
-     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
-     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
-     fclose(f);
-     return 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
-else
-  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
-$as_echo "$ax_cv_gcc_x86_cpuid_0" >&6; }
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
-$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
-if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ax_cv_gcc_x86_cpuid_1=unknown
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-
-     int op = 1, eax, ebx, ecx, edx;
-     FILE *f;
-      __asm__("cpuid"
-        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
-        : "a" (op));
-     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
-     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
-     fclose(f);
-     return 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
-else
-  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
-$as_echo "$ax_cv_gcc_x86_cpuid_1" >&6; }
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-     case $ax_cv_gcc_x86_cpuid_0 in
-       *:756e6547:*:*) # Intel
-          case $ax_cv_gcc_x86_cpuid_1 in
-           *5[48]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
-           *5??:*:*:*) ax_gcc_arch=pentium ;;
-           *6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
-           *6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
-           *6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
-           *6[9d]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
-           *6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
-           *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
-            *f3[347]:*:*:*|*f41347:*:*:*)
-               case $host_cpu in
-                  x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
-                  *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
-                esac ;;
-            *f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
-          esac ;;
-       *:68747541:*:*) # AMD
-          case $ax_cv_gcc_x86_cpuid_1 in
-           *5[67]?:*:*:*) ax_gcc_arch=k6 ;;
-           *5[8d]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
-           *5[9]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
-           *60?:*:*:*) ax_gcc_arch=k7 ;;
-           *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;;
-           *6[34]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
-           *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
-           *6[68a]?:*:*:*)
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x80000006 output" >&5
-$as_echo_n "checking for x86 cpuid 0x80000006 output... " >&6; }
-if ${ax_cv_gcc_x86_cpuid_0x80000006+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ax_cv_gcc_x86_cpuid_0x80000006=unknown
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-
-     int op = 0x80000006, eax, ebx, ecx, edx;
-     FILE *f;
-      __asm__("cpuid"
-        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
-        : "a" (op));
-     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
-     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
-     fclose(f);
-     return 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid
-else
-  ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x80000006" >&5
-$as_echo "$ax_cv_gcc_x86_cpuid_0x80000006" >&6; }
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- # L2 cache size
-              case $ax_cv_gcc_x86_cpuid_0x80000006 in
-                 *:*:*[1-9a-f]??????:*) # (L2 = ecx >> 16) >= 256
-                       ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
-                 *) ax_gcc_arch="athlon-4 athlon k7" ;;
-              esac ;;
-           *f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
-           *f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
-           *f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
-           *f??:*:*:*) ax_gcc_arch="k8" ;;
-          esac ;;
-       *:746e6543:*:*) # IDT
-          case $ax_cv_gcc_x86_cpuid_1 in
-            *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
-            *58?:*:*:*) ax_gcc_arch=winchip2 ;;
-            *6[78]?:*:*:*) ax_gcc_arch=c3 ;;
-            *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
-          esac ;;
-     esac
-     if test x"$ax_gcc_arch" = x; then # fallback
-       case $host_cpu in
-         i586*) ax_gcc_arch=pentium ;;
-         i686*) ax_gcc_arch=pentiumpro ;;
-        esac
-     fi
-     ;;
-
-  sparc*)
-     # Extract the first word of "prtdiag", so it can be a program name with args.
-set dummy prtdiag; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PRTDIAG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PRTDIAG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PRTDIAG="$PRTDIAG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/"
-for as_dir in $as_dummy
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PRTDIAG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_PRTDIAG" && ac_cv_path_PRTDIAG="prtdiag"
-  ;;
-esac
-fi
-PRTDIAG=$ac_cv_path_PRTDIAG
-if test -n "$PRTDIAG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRTDIAG" >&5
-$as_echo "$PRTDIAG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-     cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
-     cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
-     case $cputype in
-         *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
-         *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
-         *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
-         *supersparc*|*tms390z5[05]*) ax_gcc_arch="supersparc v8" ;;
-         *hypersparc*|*rt62[056]*) ax_gcc_arch="hypersparc v8" ;;
-         *cypress*) ax_gcc_arch=cypress ;;
-     esac ;;
-
-  alphaev5) ax_gcc_arch=ev5 ;;
-  alphaev56) ax_gcc_arch=ev56 ;;
-  alphapca56) ax_gcc_arch="pca56 ev56" ;;
-  alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
-  alphaev6) ax_gcc_arch=ev6 ;;
-  alphaev67) ax_gcc_arch=ev67 ;;
-  alphaev68) ax_gcc_arch="ev68 ev67" ;;
-  alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
-  alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
-  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
-
-  powerpc*)
-     cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
-     cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
-     case $cputype in
-       *750*) ax_gcc_arch="750 G3" ;;
-       *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;;
-       *74[4-5][0-9]*) ax_gcc_arch="$cputype 7450 G4" ;;
-       *74[0-9][0-9]*) ax_gcc_arch="$cputype G4" ;;
-       *970*) ax_gcc_arch="970 G5 power4";;
-       *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
-       *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
-       603ev|8240) ax_gcc_arch="$cputype 603e 603";;
-       *) ax_gcc_arch=$cputype ;;
-     esac
-     ax_gcc_arch="$ax_gcc_arch powerpc"
-     ;;
-esac
-fi # not cross-compiling
-fi # guess arch
-
-if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
-for arch in $ax_gcc_arch; do
-  if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
-    flags="-mtune=$arch"
-    # -mcpu=$arch and m$arch generate nonportable code on every arch except
-    # x86.  And some other arches (e.g. Alpha) don't accept -mtune.  Grrr.
-    case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
-  else
-    flags="-march=$arch -mcpu=$arch -m$arch"
-  fi
-  for flag in $flags; do
-    as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
-$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS  $flag"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_CACHEVAR=yes"
-else
-  eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
-  ax_cv_gcc_archflag=$flag; break
-else
-  :
-fi
-
-  done
-  test "x$ax_cv_gcc_archflag" = xunknown || break
-done
-fi
-
-fi # $GCC=yes
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
-$as_echo_n "checking for gcc architecture flag... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_archflag" >&5
-$as_echo "$ax_cv_gcc_archflag" >&6; }
-if test "x$ax_cv_gcc_archflag" = xunknown; then
-  :
-else
-  CFLAGS="$CFLAGS $ax_cv_gcc_archflag"
-fi
-
-     ;;
-  esac
-
-  if test -z "$CFLAGS"; then
-       echo ""
-       echo "********************************************************"
-        echo "* WARNING: Don't know the best CFLAGS for this system  *"
-        echo "* Use ./configure CFLAGS=... to specify your own flags *"
-       echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"
-       echo "********************************************************"
-       echo ""
-        CFLAGS="-O3"
-  fi
-
-  as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CFLAGS" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CFLAGS" >&5
-$as_echo_n "checking whether C compiler accepts $CFLAGS... " >&6; }
-if eval \${$as_CACHEVAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-  ax_check_save_flags=$CFLAGS
-  CFLAGS="$CFLAGS  $CFLAGS"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_CACHEVAR=yes"
-else
-  eval "$as_CACHEVAR=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  CFLAGS=$ax_check_save_flags
-fi
-eval ac_res=\$$as_CACHEVAR
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
-  :
-else
-
-       echo ""
-        echo "********************************************************"
-        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"
-        echo "* your compiler.                                       *"
-        echo "* Use ./configure CFLAGS=... to specify your own flags *"
-        echo "********************************************************"
-        echo ""
-        CFLAGS=""
-
-fi
-
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for maximum warnings" >&5
-$as_echo_n "checking CFLAGS for maximum warnings... " >&6; }
-if ${ac_cv_cflags_warn_all+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_cflags_warn_all="no, unknown"
-ac_save_CFLAGS="$CFLAGS"
-for ac_arg in "-warn all  % -warn all"      "-pedantic  % -Wall"          "-xstrconst % -v"             "-std1      % -verbose -w0 -warnprotos"    "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd"    "-ansi -ansiE % -fullwarn"    "+ESlit     % +w1"            "-Xc        % -pvctl,fullmsg"    "-h conform % -h msglevel 2"    #
-do CFLAGS="$ac_save_CFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_cflags_warn_all=`echo $ac_arg | sed -e 's,.*% *,,'` ; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-CFLAGS="$ac_save_CFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5
-$as_echo "$ac_cv_cflags_warn_all" >&6; }
-case ".$ac_cv_cflags_warn_all" in
-     .ok|.ok,*)  ;;
-   .|.no|.no,*)  ;;
-   *) if ${CFLAGS+:} false; then :
-  case " $CFLAGS " in
-    *" $ac_cv_cflags_warn_all "*)
-      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5
-  (: CFLAGS already contains $ac_cv_cflags_warn_all) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      ;;
-    *)
-      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \$ac_cv_cflags_warn_all\""; } >&5
-  (: CFLAGS="$CFLAGS $ac_cv_cflags_warn_all") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      CFLAGS="$CFLAGS $ac_cv_cflags_warn_all"
-      ;;
-   esac
-else
-  CFLAGS="$ac_cv_cflags_warn_all"
-fi
- ;;
-esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
-else
-  libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
-else
-  ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
-       ac_cv_func_mmap_anon=no ;;
-     *)
-       ac_cv_func_mmap_anon=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
-   fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
-  TESTSUBDIR_TRUE=
-  TESTSUBDIR_FALSE='#'
-else
-  TESTSUBDIR_TRUE='#'
-  TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[0-9]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux* | mips*-*-openbsd*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-amigaos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin* | powerpc64-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd* | powerpc-*-openbsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
-  powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[34]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
-  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
-  MIPS_TRUE=
-  MIPS_FALSE='#'
-else
-  MIPS_TRUE='#'
-  MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
-  SPARC_TRUE=
-  SPARC_FALSE='#'
-else
-  SPARC_TRUE='#'
-  SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
-  X86_TRUE=
-  X86_FALSE='#'
-else
-  X86_TRUE='#'
-  X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
-  X86_FREEBSD_TRUE=
-  X86_FREEBSD_FALSE='#'
-else
-  X86_FREEBSD_TRUE='#'
-  X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
-  X86_WIN32_TRUE=
-  X86_WIN32_FALSE='#'
-else
-  X86_WIN32_TRUE='#'
-  X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
-  X86_WIN64_TRUE=
-  X86_WIN64_FALSE='#'
-else
-  X86_WIN64_TRUE='#'
-  X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
-  X86_DARWIN_TRUE=
-  X86_DARWIN_FALSE='#'
-else
-  X86_DARWIN_TRUE='#'
-  X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
-  ALPHA_TRUE=
-  ALPHA_FALSE='#'
-else
-  ALPHA_TRUE='#'
-  ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
-  IA64_TRUE=
-  IA64_FALSE='#'
-else
-  IA64_TRUE='#'
-  IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
-  M32R_TRUE=
-  M32R_FALSE='#'
-else
-  M32R_TRUE='#'
-  M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
-  M68K_TRUE=
-  M68K_FALSE='#'
-else
-  M68K_TRUE='#'
-  M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
-  MOXIE_TRUE=
-  MOXIE_FALSE='#'
-else
-  MOXIE_TRUE='#'
-  MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
-  POWERPC_TRUE=
-  POWERPC_FALSE='#'
-else
-  POWERPC_TRUE='#'
-  POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
-  POWERPC_AIX_TRUE=
-  POWERPC_AIX_FALSE='#'
-else
-  POWERPC_AIX_TRUE='#'
-  POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
-  POWERPC_DARWIN_TRUE=
-  POWERPC_DARWIN_FALSE='#'
-else
-  POWERPC_DARWIN_TRUE='#'
-  POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
-  POWERPC_FREEBSD_TRUE=
-  POWERPC_FREEBSD_FALSE='#'
-else
-  POWERPC_FREEBSD_TRUE='#'
-  POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
-  ARM_TRUE=
-  ARM_FALSE='#'
-else
-  ARM_TRUE='#'
-  ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
-  AVR32_TRUE=
-  AVR32_FALSE='#'
-else
-  AVR32_TRUE='#'
-  AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
-  LIBFFI_CRIS_TRUE=
-  LIBFFI_CRIS_FALSE='#'
-else
-  LIBFFI_CRIS_TRUE='#'
-  LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
-  FRV_TRUE=
-  FRV_FALSE='#'
-else
-  FRV_TRUE='#'
-  FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
-  S390_TRUE=
-  S390_FALSE='#'
-else
-  S390_TRUE='#'
-  S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
-  X86_64_TRUE=
-  X86_64_FALSE='#'
-else
-  X86_64_TRUE='#'
-  X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
-  SH_TRUE=
-  SH_FALSE='#'
-else
-  SH_TRUE='#'
-  SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
-  SH64_TRUE=
-  SH64_FALSE='#'
-else
-  SH64_TRUE='#'
-  SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
-  PA_LINUX_TRUE=
-  PA_LINUX_FALSE='#'
-else
-  PA_LINUX_TRUE='#'
-  PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
-  PA_HPUX_TRUE=
-  PA_HPUX_FALSE='#'
-else
-  PA_HPUX_TRUE='#'
-  PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
-  PA64_HPUX_TRUE=
-  PA64_HPUX_FALSE='#'
-else
-  PA64_HPUX_TRUE='#'
-  PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
-  ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
-                                   if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
-    break
-fi
-
-  done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_long_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
-    fi
-  fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    gcc_cv_as_cfi_pseudo_op=unknown
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gcc_cv_as_cfi_pseudo_op=yes
-else
-  gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  libffi_cv_as_sparc_ua_pcrel=yes
-else
-  libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_register_pseudo_op=yes
-else
-  libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_ascii_pseudo_op=yes
-else
-  libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_string_pseudo_op=yes
-else
-  libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sys_symbol_underscore=no
-  cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    ac_nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$ac_nlist"; then
-      # See whether the symbols have a leading underscore.
-      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
-        lt_cv_sys_symbol_underscore=yes
-      else
-        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
-         :
-        else
-         echo "configure: cannot find nm_test_func in $ac_nlist" >&5
-        fi
-      fi
-    else
-      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "configure: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
-  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
-    if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
-    fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
-     *arm*-apple-darwin*)
-       FFI_EXEC_TRAMPOLINE_TABLE=1
-
-$as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
-
-     ;;
-     *-apple-darwin1[10]* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
-     ;;
-esac
- if test x$FFI_EXEC_TRAMPOLINE_TABLE = x1; then
-  FFI_EXEC_TRAMPOLINE_TABLE_TRUE=
-  FFI_EXEC_TRAMPOLINE_TABLE_FALSE='#'
-else
-  FFI_EXEC_TRAMPOLINE_TABLE_TRUE='#'
-  FFI_EXEC_TRAMPOLINE_TABLE_FALSE=
-fi
-
-
-
-if test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-  else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-  fi
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
-  enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
-  fi
-fi
-
- if test "$enable_debug" = "yes"; then
-  FFI_DEBUG_TRUE=
-  FFI_DEBUG_FALSE='#'
-else
-  FFI_DEBUG_TRUE='#'
-  FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
-  enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
-  enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
-  enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
-  fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
-  as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
-  as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
-  as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
-  as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
-  as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
-  as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
-  as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
-  as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
-  as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
-  as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
-  as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
-  as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
-  as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
-  as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
-  as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
-  as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_EXEC_TRAMPOLINE_TABLE_TRUE}" && test -z "${FFI_EXEC_TRAMPOLINE_TABLE_FALSE}"; then
-  as_fn_error $? "conditional \"FFI_EXEC_TRAMPOLINE_TABLE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
-  as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-ax_enable_builddir_srcdir="$srcdir"                    # $srcdir
-ax_enable_builddir_host="$HOST"                        # $HOST / $host
-ax_enable_builddir_version="$VERSION"                  # $VERSION
-ax_enable_builddir_package="$PACKAGE"                  # $PACKAGE
-ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
-ax_enable_builddir_sed="$ax_enable_builddir_sed"       # $SED
-ax_enable_builddir="$ax_enable_builddir"               # $SUB
-
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
-    "buildir") CONFIG_COMMANDS="$CONFIG_COMMANDS buildir" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
-    "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
-    "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
-    "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
-    "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
-    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
-    "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS  :L $CONFIG_LINKS  :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-  :L)
-  #
-  # CONFIG_LINK
-  #
-
-  if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
-    :
-  else
-    # Prefer the file from the source tree if names are identical.
-    if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
-      ac_source=$srcdir/$ac_source
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
-    if test ! -r "$ac_source"; then
-      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
-    fi
-    rm -f "$ac_file"
-
-    # Try a relative symlink, then a hard link, then a copy.
-    case $ac_source in
-    [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
-       *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
-    esac
-    ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
-      ln "$ac_source" "$ac_file" 2>/dev/null ||
-      cp -p "$ac_source" "$ac_file" ||
-      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
-  fi
- ;;
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "buildir":C)   ac_top_srcdir="$ax_enable_builddir_srcdir"
-  if test ".$ax_enable_builddir" = ".." ; then
-    if test -f "$top_srcdir/Makefile" ; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - left untouched" >&5
-$as_echo "$as_me: skipping top_srcdir/Makefile - left untouched" >&6;}
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - not created" >&5
-$as_echo "$as_me: skipping top_srcdir/Makefile - not created" >&6;}
-    fi
-  else
-    if test -f "$ac_top_srcdir/Makefile" ; then
-      a=`grep "^VERSION " "$ac_top_srcdir/Makefile"` ; b=`grep "^VERSION " Makefile`
-      test "$a" != "$b" && rm "$ac_top_srcdir/Makefile"
-    fi
-    if test -f "$ac_top_srcdir/Makefile" ; then
-       echo "$ac_top_srcdir/Makefile : $ac_top_srcdir/Makefile.in" > $tmp/conftemp.mk
-       echo "  @ echo 'REMOVED,,,' >\$@" >> $tmp/conftemp.mk
-      eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
-      if grep '^REMOVED,,,' "$ac_top_srcdir/Makefile" >/dev/null
-      then rm $ac_top_srcdir/Makefile ; fi
-      cp $tmp/conftemp.mk $ac_top_srcdir/makefiles.mk~      ## DEBUGGING
-    fi
-    if test ! -f "$ac_top_srcdir/Makefile" ; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: create top_srcdir/Makefile guessed from local Makefile" >&5
-$as_echo "$as_me: create top_srcdir/Makefile guessed from local Makefile" >&6;}
-      x='`' ; cat >$tmp/conftemp.sed <<_EOF
-/^\$/n
-x
-/^\$/bS
-x
-/\\\\\$/{H;d;}
-{H;s/.*//;x;}
-bM
-:S
-x
-/\\\\\$/{h;d;}
-{h;s/.*//;x;}
-:M
-s/\\(\\n\\)    /\\1 /g
-/^     /d
-/^[     ]*[\\#]/d
-/^VPATH *=/d
-s/^srcdir *=.*/srcdir = ./
-s/^top_srcdir *=.*/top_srcdir = ./
-/[:=]/!d
-/^\\./d
-/ = /b
-/ .= /b
-/:/!b
-s/:.*/:/
-s/ /  /g
-s/ \\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/ \\1 \\1-all\\2/g
-s/^\\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/\\1 \\1-all\\2/
-s/  / /g
-/^all all-all[ :]/i\\
-all-configured : all-all
-s/ [a-zA-Z0-9-]*-all [a-zA-Z0-9-]*-all-all//g
-/-all-all/d
-a\\
-       @ HOST="\$(HOST)\" \\\\\\
-       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
-       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
-       ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
-       ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
-       ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
-       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
-       ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
-       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-       ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
-/dist-all *:/a\\
-       @ HOST="\$(HOST)\" \\\\\\
-       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
-       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
-       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
-       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
-       ; if test "\$\$found" -eq "0" ; then : \\\\\\
-       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
-       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
-       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
-/dist-[a-zA-Z0-9]*-all *:/a\\
-       @ HOST="\$(HOST)\" \\\\\\
-       ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
-       ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
-       ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
-       ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
-       ; if test "\$\$found" -eq "0" ; then : \\\\\\
-       ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
-       ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-       ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
-       ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
-/distclean-all *:/a\\
-       @ HOST="\$(HOST)\" \\\\\\
-       ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
-       ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
-       ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
-       ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
-       ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
-       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-       ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
-       ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
-       ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
-       ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
-       ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
-_EOF
-      cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefile.sed~"            ## DEBUGGING
-      $ax_enable_builddir_sed -f $tmp/conftemp.sed Makefile >$ac_top_srcdir/Makefile
-      if test -f "$ac_top_srcdir/Makefile.mk" ; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&5
-$as_echo "$as_me: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&6;}
-        cat $ac_top_srcdir/Makefile.mk >>$ac_top_srcdir/Makefile
-      fi ; xxxx="####"
-      echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$ac_top_srcdir/Makefile
-      # sanity check
-      if grep '^; echo "MAKE ' $ac_top_srcdir/Makefile >/dev/null ; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: buggy sed found - it deletes tab in \"a\" text parts" >&5
-$as_echo "$as_me: buggy sed found - it deletes tab in \"a\" text parts" >&6;}
-        $ax_enable_builddir_sed -e '/^@ HOST=/s/^/     /' -e '/^; /s/^/        /' $ac_top_srcdir/Makefile \
-          >$ac_top_srcdir/Makefile~
-        (test -s $ac_top_srcdir/Makefile~ && mv $ac_top_srcdir/Makefile~ $ac_top_srcdir/Makefile) 2>/dev/null
-      fi
-    else
-      xxxx="\\#\\#\\#\\#"
-      # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
-      echo "s!^$xxxx [^|]* | *$ax_enable_builddir *\$!$xxxx ...... $ax_enable_builddir!" >$tmp/conftemp.sed
-      $ax_enable_builddir_sed -f "$tmp/conftemp.sed" "$ac_top_srcdir/Makefile" >$tmp/mkfile.tmp
-        cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefiles.sed~"         ## DEBUGGING
-        cp "$tmp/mkfile.tmp"   "$ac_top_srcdir/makefiles.out~"         ## DEBUGGING
-      if cmp -s "$ac_top_srcdir/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: keeping top_srcdir/Makefile from earlier configure" >&5
-$as_echo "$as_me: keeping top_srcdir/Makefile from earlier configure" >&6;}
-        rm "$tmp/mkfile.tmp"
-      else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: reusing top_srcdir/Makefile from earlier configure" >&5
-$as_echo "$as_me: reusing top_srcdir/Makefile from earlier configure" >&6;}
-        mv "$tmp/mkfile.tmp" "$ac_top_srcdir/Makefile"
-      fi
-    fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&5
-$as_echo "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&6;}
-    xxxx="####"
-    echo "$xxxx" "$ax_enable_builddir_host" "|$ax_enable_builddir" >>$ac_top_srcdir/Makefile
-  fi
- ;;
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-    "include":C) test -d include || mkdir include ;;
-    "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/no-undefined-fix/configure.ac b/.pc/no-undefined-fix/configure.ac
deleted file mode 100644 (file)
index efe013a..0000000
+++ /dev/null
@@ -1,502 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AX_ENABLE_BUILDDIR
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AX_CC_MAXOPT
-AX_CFLAGS_WARN_ALL
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -fexceptions"
-fi
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux* | mips*-*-openbsd*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-amigaos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin* | powerpc64-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd* | powerpc-*-openbsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
-  powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    LT_SYS_SYMBOL_USCORE
-    if test "x$sys_symbol_underscore" = xyes; then
-        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-    fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
-     *arm*-apple-darwin*)
-       FFI_EXEC_TRAMPOLINE_TABLE=1
-       AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
-                 [Cannot use PROT_EXEC on this target, so, we revert to
-                   alternative means])
-     ;;
-     *-apple-darwin1[[10]]* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-      libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-      AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-      AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  else
-      AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  fi
-
-  AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-      libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-      AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-  fi
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/powerpc-ffi-softfloat/.timestamp b/.pc/powerpc-ffi-softfloat/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/powerpc-ffi-softfloat/ChangeLog b/.pc/powerpc-ffi-softfloat/ChangeLog
deleted file mode 100644 (file)
index bba2d50..0000000
+++ /dev/null
@@ -1,4722 +0,0 @@
-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  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  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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * 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.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/powerpc-ffi-softfloat/src/powerpc/ffi.c b/.pc/powerpc-ffi-softfloat/src/powerpc/ffi.c
deleted file mode 100644 (file)
index 53c7e8e..0000000
+++ /dev/null
@@ -1,1444 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (C) 2011 Anthony Green
-           Copyright (C) 2011 Kyle Moffett
-           Copyright (C) 2008 Red Hat, Inc
-           Copyright (C) 2007, 2008 Free Software Foundation, Inc
-          Copyright (c) 1998 Geoffrey Keating
-
-   PowerPC Foreign Function Interface
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
-   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-   OTHER DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-
-
-extern void ffi_closure_SYSV (void);
-extern void FFI_HIDDEN ffi_closure_LINUX64 (void);
-
-enum {
-  /* The assembly depends on these exact flags.  */
-  FLAG_RETURNS_SMST    = 1 << (31-31), /* Used for FFI_SYSV small structs.  */
-  FLAG_RETURNS_NOTHING  = 1 << (31-30), /* These go in cr7 */
-  FLAG_RETURNS_FP       = 1 << (31-29),
-  FLAG_RETURNS_64BITS   = 1 << (31-28),
-
-  FLAG_RETURNS_128BITS  = 1 << (31-27), /* cr6  */
-
-  FLAG_ARG_NEEDS_COPY   = 1 << (31- 7),
-  FLAG_FP_ARGUMENTS     = 1 << (31- 6), /* cr1.eq; specified by ABI */
-  FLAG_4_GPR_ARGUMENTS  = 1 << (31- 5),
-  FLAG_RETVAL_REFERENCE = 1 << (31- 4)
-};
-
-/* About the SYSV ABI.  */
-unsigned int NUM_GPR_ARG_REGISTERS = 8;
-#ifndef __NO_FPRS__
-unsigned int NUM_FPR_ARG_REGISTERS = 8;
-#else
-unsigned int NUM_FPR_ARG_REGISTERS = 0;
-#endif
-
-enum { ASM_NEEDS_REGISTERS = 4 };
-
-/* ffi_prep_args_SYSV is called by the assembly routine once stack space
-   has been allocated for the function's arguments.
-
-   The stack layout we want looks like this:
-
-   |   Return address from ffi_call_SYSV 4bytes        |       higher addresses
-   |--------------------------------------------|
-   |   Previous backchain pointer      4       |       stack pointer here
-   |--------------------------------------------|<+ <<<        on entry to
-   |   Saved r28-r31                   4*4     | |     ffi_call_SYSV
-   |--------------------------------------------| |
-   |   GPR registers r3-r10            8*4     | |     ffi_call_SYSV
-   |--------------------------------------------| |
-   |   FPR registers f1-f8 (optional)  8*8     | |
-   |--------------------------------------------| |    stack   |
-   |   Space for copied structures             | |     grows   |
-   |--------------------------------------------| |    down    V
-   |   Parameters that didn't fit in registers  | |
-   |--------------------------------------------| |    lower addresses
-   |   Space for callee's LR           4       | |
-   |--------------------------------------------| |    stack pointer here
-   |   Current backchain pointer       4       |-/     during
-   |--------------------------------------------|   <<<        ffi_call_SYSV
-
-*/
-
-void
-ffi_prep_args_SYSV (extended_cif *ecif, unsigned *const stack)
-{
-  const unsigned bytes = ecif->cif->bytes;
-  const unsigned flags = ecif->cif->flags;
-
-  typedef union {
-    char *c;
-    unsigned *u;
-    long long *ll;
-    float *f;
-    double *d;
-  } valp;
-
-  /* 'stacktop' points at the previous backchain pointer.  */
-  valp stacktop;
-
-  /* 'gpr_base' points at the space for gpr3, and grows upwards as
-     we use GPR registers.  */
-  valp gpr_base;
-  int intarg_count;
-
-  /* 'fpr_base' points at the space for fpr1, and grows upwards as
-     we use FPR registers.  */
-  valp fpr_base;
-  int fparg_count;
-
-  /* 'copy_space' grows down as we put structures in it.  It should
-     stay 16-byte aligned.  */
-  valp copy_space;
-
-  /* 'next_arg' grows up as we put parameters in it.  */
-  valp next_arg;
-
-  int i, ii MAYBE_UNUSED;
-  ffi_type **ptr;
-  double double_tmp;
-  union {
-    void **v;
-    char **c;
-    signed char **sc;
-    unsigned char **uc;
-    signed short **ss;
-    unsigned short **us;
-    unsigned int **ui;
-    long long **ll;
-    float **f;
-    double **d;
-  } p_argv;
-  size_t struct_copy_size;
-  unsigned gprvalue;
-
-  if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-    NUM_FPR_ARG_REGISTERS = 0;
-
-  stacktop.c = (char *) stack + bytes;
-  gpr_base.u = stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS;
-  intarg_count = 0;
-  fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS;
-  fparg_count = 0;
-  copy_space.c = ((flags & FLAG_FP_ARGUMENTS) ? fpr_base.c : gpr_base.c);
-  next_arg.u = stack + 2;
-
-  /* Check that everything starts aligned properly.  */
-  FFI_ASSERT (((unsigned) (char *) stack & 0xF) == 0);
-  FFI_ASSERT (((unsigned) copy_space.c & 0xF) == 0);
-  FFI_ASSERT (((unsigned) stacktop.c & 0xF) == 0);
-  FFI_ASSERT ((bytes & 0xF) == 0);
-  FFI_ASSERT (copy_space.c >= next_arg.c);
-
-  /* Deal with return values that are actually pass-by-reference.  */
-  if (flags & FLAG_RETVAL_REFERENCE)
-    {
-      *gpr_base.u++ = (unsigned long) (char *) ecif->rvalue;
-      intarg_count++;
-    }
-
-  /* Now for the arguments.  */
-  p_argv.v = ecif->avalue;
-  for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
-       i > 0;
-       i--, ptr++, p_argv.v++)
-    {
-      switch ((*ptr)->type)
-       {
-       case FFI_TYPE_FLOAT:
-         /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32.  */
-         if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_float_prep;
-         double_tmp = **p_argv.f;
-         if (fparg_count >= NUM_FPR_ARG_REGISTERS)
-           {
-             *next_arg.f = (float) double_tmp;
-             next_arg.u += 1;
-             intarg_count++;
-           }
-         else
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64.  */
-         if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_double_prep;
-         double_tmp = **p_argv.d;
-
-         if (fparg_count >= NUM_FPR_ARG_REGISTERS)
-           {
-             if (intarg_count >= NUM_GPR_ARG_REGISTERS
-                 && intarg_count % 2 != 0)
-               {
-                 intarg_count++;
-                 next_arg.u++;
-               }
-             *next_arg.d = double_tmp;
-             next_arg.u += 2;
-           }
-         else
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         if ((ecif->cif->abi != FFI_LINUX)
-               && (ecif->cif->abi != FFI_LINUX_SOFT_FLOAT))
-           goto do_struct;
-         /* The soft float ABI for long doubles works like this,
-            a long double is passed in four consecutive gprs if available.
-            A maximum of 2 long doubles can be passed in gprs.
-            If we do not have 4 gprs left, the long double is passed on the
-            stack, 4-byte aligned.  */
-         if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-           {
-             unsigned int int_tmp = (*p_argv.ui)[0];
-             if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3)
-               {
-                 if (intarg_count < NUM_GPR_ARG_REGISTERS)
-                   intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
-                 *next_arg.u = int_tmp;
-                 next_arg.u++;
-                 for (ii = 1; ii < 4; ii++)
-                   {
-                     int_tmp = (*p_argv.ui)[ii];
-                     *next_arg.u = int_tmp;
-                     next_arg.u++;
-                   }
-               }
-             else
-               {
-                 *gpr_base.u++ = int_tmp;
-                 for (ii = 1; ii < 4; ii++)
-                   {
-                     int_tmp = (*p_argv.ui)[ii];
-                     *gpr_base.u++ = int_tmp;
-                   }
-               }
-             intarg_count +=4;
-           }
-         else
-           {
-             double_tmp = (*p_argv.d)[0];
-
-             if (fparg_count >= NUM_FPR_ARG_REGISTERS - 1)
-               {
-                 if (intarg_count >= NUM_GPR_ARG_REGISTERS
-                     && intarg_count % 2 != 0)
-                   {
-                     intarg_count++;
-                     next_arg.u++;
-                   }
-                 *next_arg.d = double_tmp;
-                 next_arg.u += 2;
-                 double_tmp = (*p_argv.d)[1];
-                 *next_arg.d = double_tmp;
-                 next_arg.u += 2;
-               }
-             else
-               {
-                 *fpr_base.d++ = double_tmp;
-                 double_tmp = (*p_argv.d)[1];
-                 *fpr_base.d++ = double_tmp;
-               }
-
-             fparg_count += 2;
-             FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-           }
-         break;
-#endif
-
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-       soft_double_prep:
-         if (intarg_count == NUM_GPR_ARG_REGISTERS-1)
-           intarg_count++;
-         if (intarg_count >= NUM_GPR_ARG_REGISTERS)
-           {
-             if (intarg_count % 2 != 0)
-               {
-                 intarg_count++;
-                 next_arg.u++;
-               }
-             *next_arg.ll = **p_argv.ll;
-             next_arg.u += 2;
-           }
-         else
-           {
-             /* whoops: abi states only certain register pairs
-              * can be used for passing long long int
-              * specifically (r3,r4), (r5,r6), (r7,r8),
-              * (r9,r10) and if next arg is long long but
-              * not correct starting register of pair then skip
-              * until the proper starting register
-              */
-             if (intarg_count % 2 != 0)
-               {
-                 intarg_count ++;
-                 gpr_base.u++;
-               }
-             *gpr_base.ll++ = **p_argv.ll;
-           }
-         intarg_count += 2;
-         break;
-
-       case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       do_struct:
-#endif
-         struct_copy_size = ((*ptr)->size + 15) & ~0xF;
-         copy_space.c -= struct_copy_size;
-         memcpy (copy_space.c, *p_argv.c, (*ptr)->size);
-
-         gprvalue = (unsigned long) copy_space.c;
-
-         FFI_ASSERT (copy_space.c > next_arg.c);
-         FFI_ASSERT (flags & FLAG_ARG_NEEDS_COPY);
-         goto putgpr;
-
-       case FFI_TYPE_UINT8:
-         gprvalue = **p_argv.uc;
-         goto putgpr;
-       case FFI_TYPE_SINT8:
-         gprvalue = **p_argv.sc;
-         goto putgpr;
-       case FFI_TYPE_UINT16:
-         gprvalue = **p_argv.us;
-         goto putgpr;
-       case FFI_TYPE_SINT16:
-         gprvalue = **p_argv.ss;
-         goto putgpr;
-
-       case FFI_TYPE_INT:
-       case FFI_TYPE_UINT32:
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_POINTER:
-       soft_float_prep:
-
-         gprvalue = **p_argv.ui;
-
-       putgpr:
-         if (intarg_count >= NUM_GPR_ARG_REGISTERS)
-           *next_arg.u++ = gprvalue;
-         else
-           *gpr_base.u++ = gprvalue;
-         intarg_count++;
-         break;
-       }
-    }
-
-  /* Check that we didn't overrun the stack...  */
-  FFI_ASSERT (copy_space.c >= next_arg.c);
-  FFI_ASSERT (gpr_base.u <= stacktop.u - ASM_NEEDS_REGISTERS);
-  FFI_ASSERT (fpr_base.u
-             <= stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS);
-  FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4);
-}
-
-/* About the LINUX64 ABI.  */
-enum {
-  NUM_GPR_ARG_REGISTERS64 = 8,
-  NUM_FPR_ARG_REGISTERS64 = 13
-};
-enum { ASM_NEEDS_REGISTERS64 = 4 };
-
-/* ffi_prep_args64 is called by the assembly routine once stack space
-   has been allocated for the function's arguments.
-
-   The stack layout we want looks like this:
-
-   |   Ret addr from ffi_call_LINUX64  8bytes  |       higher addresses
-   |--------------------------------------------|
-   |   CR save area                    8bytes  |
-   |--------------------------------------------|
-   |   Previous backchain pointer      8       |       stack pointer here
-   |--------------------------------------------|<+ <<<        on entry to
-   |   Saved r28-r31                   4*8     | |     ffi_call_LINUX64
-   |--------------------------------------------| |
-   |   GPR registers r3-r10            8*8     | |
-   |--------------------------------------------| |
-   |   FPR registers f1-f13 (optional) 13*8    | |
-   |--------------------------------------------| |
-   |   Parameter save area                     | |
-   |--------------------------------------------| |
-   |   TOC save area                   8       | |
-   |--------------------------------------------| |    stack   |
-   |   Linker doubleword               8       | |     grows   |
-   |--------------------------------------------| |    down    V
-   |   Compiler doubleword             8       | |
-   |--------------------------------------------| |    lower addresses
-   |   Space for callee's LR           8       | |
-   |--------------------------------------------| |
-   |   CR save area                    8       | |
-   |--------------------------------------------| |    stack pointer here
-   |   Current backchain pointer       8       |-/     during
-   |--------------------------------------------|   <<<        ffi_call_LINUX64
-
-*/
-
-void FFI_HIDDEN
-ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
-{
-  const unsigned long bytes = ecif->cif->bytes;
-  const unsigned long flags = ecif->cif->flags;
-
-  typedef union {
-    char *c;
-    unsigned long *ul;
-    float *f;
-    double *d;
-  } valp;
-
-  /* 'stacktop' points at the previous backchain pointer.  */
-  valp stacktop;
-
-  /* 'next_arg' points at the space for gpr3, and grows upwards as
-     we use GPR registers, then continues at rest.  */
-  valp gpr_base;
-  valp gpr_end;
-  valp rest;
-  valp next_arg;
-
-  /* 'fpr_base' points at the space for fpr3, and grows upwards as
-     we use FPR registers.  */
-  valp fpr_base;
-  int fparg_count;
-
-  int i, words;
-  ffi_type **ptr;
-  double double_tmp;
-  union {
-    void **v;
-    char **c;
-    signed char **sc;
-    unsigned char **uc;
-    signed short **ss;
-    unsigned short **us;
-    signed int **si;
-    unsigned int **ui;
-    unsigned long **ul;
-    float **f;
-    double **d;
-  } p_argv;
-  unsigned long gprvalue;
-
-  stacktop.c = (char *) stack + bytes;
-  gpr_base.ul = stacktop.ul - ASM_NEEDS_REGISTERS64 - NUM_GPR_ARG_REGISTERS64;
-  gpr_end.ul = gpr_base.ul + NUM_GPR_ARG_REGISTERS64;
-  rest.ul = stack + 6 + NUM_GPR_ARG_REGISTERS64;
-  fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS64;
-  fparg_count = 0;
-  next_arg.ul = gpr_base.ul;
-
-  /* Check that everything starts aligned properly.  */
-  FFI_ASSERT (((unsigned long) (char *) stack & 0xF) == 0);
-  FFI_ASSERT (((unsigned long) stacktop.c & 0xF) == 0);
-  FFI_ASSERT ((bytes & 0xF) == 0);
-
-  /* Deal with return values that are actually pass-by-reference.  */
-  if (flags & FLAG_RETVAL_REFERENCE)
-    *next_arg.ul++ = (unsigned long) (char *) ecif->rvalue;
-
-  /* Now for the arguments.  */
-  p_argv.v = ecif->avalue;
-  for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
-       i > 0;
-       i--, ptr++, p_argv.v++)
-    {
-      switch ((*ptr)->type)
-       {
-       case FFI_TYPE_FLOAT:
-         double_tmp = **p_argv.f;
-         *next_arg.f = (float) double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         double_tmp = **p_argv.d;
-         *next_arg.d = double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         double_tmp = (*p_argv.d)[0];
-         *next_arg.d = double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         double_tmp = (*p_argv.d)[1];
-         *next_arg.d = double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (__LDBL_MANT_DIG__ == 106);
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-#endif
-
-       case FFI_TYPE_STRUCT:
-         words = ((*ptr)->size + 7) / 8;
-         if (next_arg.ul >= gpr_base.ul && next_arg.ul + words > gpr_end.ul)
-           {
-             size_t first = gpr_end.c - next_arg.c;
-             memcpy (next_arg.c, *p_argv.c, first);
-             memcpy (rest.c, *p_argv.c + first, (*ptr)->size - first);
-             next_arg.c = rest.c + words * 8 - first;
-           }
-         else
-           {
-             char *where = next_arg.c;
-
-             /* Structures with size less than eight bytes are passed
-                left-padded.  */
-             if ((*ptr)->size < 8)
-               where += 8 - (*ptr)->size;
-
-             memcpy (where, *p_argv.c, (*ptr)->size);
-             next_arg.ul += words;
-             if (next_arg.ul == gpr_end.ul)
-               next_arg.ul = rest.ul;
-           }
-         break;
-
-       case FFI_TYPE_UINT8:
-         gprvalue = **p_argv.uc;
-         goto putgpr;
-       case FFI_TYPE_SINT8:
-         gprvalue = **p_argv.sc;
-         goto putgpr;
-       case FFI_TYPE_UINT16:
-         gprvalue = **p_argv.us;
-         goto putgpr;
-       case FFI_TYPE_SINT16:
-         gprvalue = **p_argv.ss;
-         goto putgpr;
-       case FFI_TYPE_UINT32:
-         gprvalue = **p_argv.ui;
-         goto putgpr;
-       case FFI_TYPE_INT:
-       case FFI_TYPE_SINT32:
-         gprvalue = **p_argv.si;
-         goto putgpr;
-
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_POINTER:
-         gprvalue = **p_argv.ul;
-       putgpr:
-         *next_arg.ul++ = gprvalue;
-         if (next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         break;
-       }
-    }
-
-  FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS
-             || (next_arg.ul >= gpr_base.ul
-                 && next_arg.ul <= gpr_base.ul + 4));
-}
-
-
-
-/* Perform machine dependent cif processing */
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
-  /* All this is for the SYSV and LINUX64 ABI.  */
-  int i;
-  ffi_type **ptr;
-  unsigned bytes;
-  int fparg_count = 0, intarg_count = 0;
-  unsigned flags = 0;
-  unsigned struct_copy_size = 0;
-  unsigned type = cif->rtype->type;
-  unsigned size = cif->rtype->size;
-
-  if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-    NUM_FPR_ARG_REGISTERS = 0;
-
-  if (cif->abi != FFI_LINUX64)
-    {
-      /* All the machine-independent calculation of cif->bytes will be wrong.
-        Redo the calculation for SYSV.  */
-
-      /* Space for the frame pointer, callee's LR, and the asm's temp regs.  */
-      bytes = (2 + ASM_NEEDS_REGISTERS) * sizeof (int);
-
-      /* Space for the GPR registers.  */
-      bytes += NUM_GPR_ARG_REGISTERS * sizeof (int);
-    }
-  else
-    {
-      /* 64-bit ABI.  */
-
-      /* Space for backchain, CR, LR, cc/ld doubleword, TOC and the asm's temp
-        regs.  */
-      bytes = (6 + ASM_NEEDS_REGISTERS64) * sizeof (long);
-
-      /* Space for the mandatory parm save area and general registers.  */
-      bytes += 2 * NUM_GPR_ARG_REGISTERS64 * sizeof (long);
-    }
-
-  /* Return value handling.  The rules for SYSV are as follows:
-     - 32-bit (or less) integer values are returned in gpr3;
-     - Structures of size <= 4 bytes also returned in gpr3;
-     - 64-bit integer values and structures between 5 and 8 bytes are returned
-     in gpr3 and gpr4;
-     - Single/double FP values are returned in fpr1;
-     - Larger structures are allocated space and a pointer is passed as
-     the first argument.
-     - long doubles (if not equivalent to double) are returned in
-     fpr1,fpr2 for Linux and as for large structs for SysV.
-     For LINUX64:
-     - integer values in gpr3;
-     - Structures/Unions by reference;
-     - Single/double FP values in fpr1, long double in fpr1,fpr2.
-     - soft-float float/doubles are treated as UINT32/UINT64 respectivley.
-     - soft-float long doubles are returned in gpr3-gpr6.  */
-  switch (type)
-    {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-    case FFI_TYPE_LONGDOUBLE:
-      if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX64
-       && cif->abi != FFI_LINUX_SOFT_FLOAT)
-       goto byref;
-      flags |= FLAG_RETURNS_128BITS;
-      /* Fall through.  */
-#endif
-    case FFI_TYPE_DOUBLE:
-      flags |= FLAG_RETURNS_64BITS;
-      /* Fall through.  */
-    case FFI_TYPE_FLOAT:
-      /* With FFI_LINUX_SOFT_FLOAT no fp registers are used.  */
-      if (cif->abi != FFI_LINUX_SOFT_FLOAT)
-       flags |= FLAG_RETURNS_FP;
-      break;
-
-    case FFI_TYPE_UINT64:
-    case FFI_TYPE_SINT64:
-      flags |= FLAG_RETURNS_64BITS;
-      break;
-
-    case FFI_TYPE_STRUCT:
-      /*
-       * The final SYSV ABI says that structures smaller or equal 8 bytes
-       * are returned in r3/r4. The FFI_GCC_SYSV ABI instead returns them
-       * in memory.
-       *
-       * NOTE: The assembly code can safely assume that it just needs to
-       *       store both r3 and r4 into a 8-byte word-aligned buffer, as
-       *       we allocate a temporary buffer in ffi_call() if this flag is
-       *       set.
-       */
-      if (cif->abi == FFI_SYSV && size <= 8)
-       flags |= FLAG_RETURNS_SMST;
-      
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-    byref:
-#endif
-      intarg_count++;
-      flags |= FLAG_RETVAL_REFERENCE;
-      /* Fall through.  */
-    case FFI_TYPE_VOID:
-      flags |= FLAG_RETURNS_NOTHING;
-      break;
-
-    default:
-      /* Returns 32-bit integer, or similar.  Nothing to do here.  */
-      break;
-    }
-
-  if (cif->abi != FFI_LINUX64)
-    /* The first NUM_GPR_ARG_REGISTERS words of integer arguments, and the
-       first NUM_FPR_ARG_REGISTERS fp arguments, go in registers; the rest
-       goes on the stack.  Structures and long doubles (if not equivalent
-       to double) are passed as a pointer to a copy of the structure.
-       Stuff on the stack needs to keep proper alignment.  */
-    for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-      {
-       switch ((*ptr)->type)
-         {
-         case FFI_TYPE_FLOAT:
-           /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32.  */
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             goto soft_float_cif;
-           fparg_count++;
-           /* floating singles are not 8-aligned on stack */
-           break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         case FFI_TYPE_LONGDOUBLE:
-           if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-             goto do_struct;
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             {
-               if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3
-                 || intarg_count < NUM_GPR_ARG_REGISTERS)
-                 /* A long double in FFI_LINUX_SOFT_FLOAT can use only
-                    a set of four consecutive gprs. If we have not enough,
-                    we have to adjust the intarg_count value.  */
-                 intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
-               intarg_count += 4;
-               break;
-             }
-           else
-             fparg_count++;
-           /* Fall thru */
-#endif
-         case FFI_TYPE_DOUBLE:
-           /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64.  */
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             goto soft_double_cif;
-           fparg_count++;
-           /* If this FP arg is going on the stack, it must be
-              8-byte-aligned.  */
-           if (fparg_count > NUM_FPR_ARG_REGISTERS
-               && intarg_count >= NUM_GPR_ARG_REGISTERS
-               && intarg_count % 2 != 0)
-             intarg_count++;
-           break;
-
-         case FFI_TYPE_UINT64:
-         case FFI_TYPE_SINT64:
-         soft_double_cif:
-           /* 'long long' arguments are passed as two words, but
-              either both words must fit in registers or both go
-              on the stack.  If they go on the stack, they must
-              be 8-byte-aligned.
-
-              Also, only certain register pairs can be used for
-              passing long long int -- specifically (r3,r4), (r5,r6),
-              (r7,r8), (r9,r10).
-           */
-           if (intarg_count == NUM_GPR_ARG_REGISTERS-1
-               || intarg_count % 2 != 0)
-             intarg_count++;
-           intarg_count += 2;
-           break;
-
-         case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         do_struct:
-#endif
-           /* We must allocate space for a copy of these to enforce
-              pass-by-value.  Pad the space up to a multiple of 16
-              bytes (the maximum alignment required for anything under
-              the SYSV ABI).  */
-           struct_copy_size += ((*ptr)->size + 15) & ~0xF;
-           /* Fall through (allocate space for the pointer).  */
-
-         default:
-         soft_float_cif:
-           /* Everything else is passed as a 4-byte word in a GPR, either
-              the object itself or a pointer to it.  */
-           intarg_count++;
-           break;
-         }
-      }
-  else
-    for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-      {
-       switch ((*ptr)->type)
-         {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         case FFI_TYPE_LONGDOUBLE:
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             intarg_count += 4;
-           else
-             {
-               fparg_count += 2;
-               intarg_count += 2;
-             }
-           break;
-#endif
-         case FFI_TYPE_FLOAT:
-         case FFI_TYPE_DOUBLE:
-           fparg_count++;
-           intarg_count++;
-           break;
-
-         case FFI_TYPE_STRUCT:
-           intarg_count += ((*ptr)->size + 7) / 8;
-           break;
-
-         default:
-           /* Everything else is passed as a 8-byte word in a GPR, either
-              the object itself or a pointer to it.  */
-           intarg_count++;
-           break;
-         }
-      }
-
-  if (fparg_count != 0)
-    flags |= FLAG_FP_ARGUMENTS;
-  if (intarg_count > 4)
-    flags |= FLAG_4_GPR_ARGUMENTS;
-  if (struct_copy_size != 0)
-    flags |= FLAG_ARG_NEEDS_COPY;
-
-  if (cif->abi != FFI_LINUX64)
-    {
-      /* Space for the FPR registers, if needed.  */
-      if (fparg_count != 0)
-       bytes += NUM_FPR_ARG_REGISTERS * sizeof (double);
-
-      /* Stack space.  */
-      if (intarg_count > NUM_GPR_ARG_REGISTERS)
-       bytes += (intarg_count - NUM_GPR_ARG_REGISTERS) * sizeof (int);
-      if (fparg_count > NUM_FPR_ARG_REGISTERS)
-       bytes += (fparg_count - NUM_FPR_ARG_REGISTERS) * sizeof (double);
-    }
-  else
-    {
-      /* Space for the FPR registers, if needed.  */
-      if (fparg_count != 0)
-       bytes += NUM_FPR_ARG_REGISTERS64 * sizeof (double);
-
-      /* Stack space.  */
-      if (intarg_count > NUM_GPR_ARG_REGISTERS64)
-       bytes += (intarg_count - NUM_GPR_ARG_REGISTERS64) * sizeof (long);
-    }
-
-  /* The stack space allocated needs to be a multiple of 16 bytes.  */
-  bytes = (bytes + 15) & ~0xF;
-
-  /* Add in the space for the copied structures.  */
-  bytes += struct_copy_size;
-
-  cif->flags = flags;
-  cif->bytes = bytes;
-
-  return FFI_OK;
-}
-
-extern void ffi_call_SYSV(extended_cif *, unsigned, unsigned, unsigned *,
-                         void (*fn)(void));
-extern void FFI_HIDDEN ffi_call_LINUX64(extended_cif *, unsigned long,
-                                       unsigned long, unsigned long *,
-                                       void (*fn)(void));
-
-void
-ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  /*
-   * The final SYSV ABI says that structures smaller or equal 8 bytes
-   * are returned in r3/r4. The FFI_GCC_SYSV ABI instead returns them
-   * in memory.
-   *
-   * Just to keep things simple for the assembly code, we will always
-   * bounce-buffer struct return values less than or equal to 8 bytes.
-   * This allows the ASM to handle SYSV small structures by directly
-   * writing r3 and r4 to memory without worrying about struct size.
-   */
-  unsigned int smst_buffer[2];
-  extended_cif ecif;
-  unsigned int rsize;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  /* Ensure that we have a valid struct return value */
-  ecif.rvalue = rvalue;
-  if (cif->rtype->type == FFI_TYPE_STRUCT) {
-    rsize = cif->rtype->size;
-    if (rsize <= 8)
-      ecif.rvalue = smst_buffer;
-    else if (!rvalue)
-      ecif.rvalue = alloca(rsize);
-  }
-
-  switch (cif->abi)
-    {
-#ifndef POWERPC64
-    case FFI_SYSV:
-    case FFI_GCC_SYSV:
-    case FFI_LINUX:
-    case FFI_LINUX_SOFT_FLOAT:
-      ffi_call_SYSV (&ecif, -cif->bytes, cif->flags, ecif.rvalue, fn);
-      break;
-#else
-    case FFI_LINUX64:
-      ffi_call_LINUX64 (&ecif, -(long) cif->bytes, cif->flags, ecif.rvalue, fn);
-      break;
-#endif
-    default:
-      FFI_ASSERT (0);
-      break;
-    }
-
-  /* Check for a bounce-buffered return value */
-  if (rvalue && ecif.rvalue == smst_buffer)
-    memcpy(rvalue, smst_buffer, rsize);
-}
-
-
-#ifndef POWERPC64
-#define MIN_CACHE_LINE_SIZE 8
-
-static void
-flush_icache (char *wraddr, char *xaddr, int size)
-{
-  int i;
-  for (i = 0; i < size; i += MIN_CACHE_LINE_SIZE)
-    __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;"
-                     : : "r" (xaddr + i), "r" (wraddr + i) : "memory");
-  __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;" "sync;" "isync;"
-                   : : "r"(xaddr + size - 1), "r"(wraddr + size - 1)
-                   : "memory");
-}
-#endif
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure *closure,
-                     ffi_cif *cif,
-                     void (*fun) (ffi_cif *, void *, void **, void *),
-                     void *user_data,
-                     void *codeloc)
-{
-#ifdef POWERPC64
-  void **tramp = (void **) &closure->tramp[0];
-
-  if (cif->abi != FFI_LINUX64)
-    return FFI_BAD_ABI;
-  /* Copy function address and TOC from ffi_closure_LINUX64.  */
-  memcpy (tramp, (char *) ffi_closure_LINUX64, 16);
-  tramp[2] = codeloc;
-#else
-  unsigned int *tramp;
-
-  if (! (cif->abi == FFI_GCC_SYSV 
-        || cif->abi == FFI_SYSV
-        || cif->abi == FFI_LINUX
-        || cif->abi == FFI_LINUX_SOFT_FLOAT))
-    return FFI_BAD_ABI;
-
-  tramp = (unsigned int *) &closure->tramp[0];
-  tramp[0] = 0x7c0802a6;  /*   mflr    r0 */
-  tramp[1] = 0x4800000d;  /*   bl      10 <trampoline_initial+0x10> */
-  tramp[4] = 0x7d6802a6;  /*   mflr    r11 */
-  tramp[5] = 0x7c0803a6;  /*   mtlr    r0 */
-  tramp[6] = 0x800b0000;  /*   lwz     r0,0(r11) */
-  tramp[7] = 0x816b0004;  /*   lwz     r11,4(r11) */
-  tramp[8] = 0x7c0903a6;  /*   mtctr   r0 */
-  tramp[9] = 0x4e800420;  /*   bctr */
-  *(void **) &tramp[2] = (void *) ffi_closure_SYSV; /* function */
-  *(void **) &tramp[3] = codeloc;                   /* context */
-
-  /* Flush the icache.  */
-  flush_icache ((char *)tramp, (char *)codeloc, FFI_TRAMPOLINE_SIZE);
-#endif
-
-  closure->cif = cif;
-  closure->fun = fun;
-  closure->user_data = user_data;
-
-  return FFI_OK;
-}
-
-typedef union
-{
-  float f;
-  double d;
-} ffi_dblfl;
-
-int ffi_closure_helper_SYSV (ffi_closure *, void *, unsigned long *,
-                            ffi_dblfl *, unsigned long *);
-
-/* Basically the trampoline invokes ffi_closure_SYSV, and on
- * entry, r11 holds the address of the closure.
- * After storing the registers that could possibly contain
- * parameters to be passed into the stack frame and setting
- * up space for a return value, ffi_closure_SYSV invokes the
- * following helper function to do most of the work
- */
-
-int
-ffi_closure_helper_SYSV (ffi_closure *closure, void *rvalue,
-                        unsigned long *pgr, ffi_dblfl *pfr,
-                        unsigned long *pst)
-{
-  /* rvalue is the pointer to space for return value in closure assembly */
-  /* pgr is the pointer to where r3-r10 are stored in ffi_closure_SYSV */
-  /* pfr is the pointer to where f1-f8 are stored in ffi_closure_SYSV  */
-  /* pst is the pointer to outgoing parameter stack in original caller */
-
-  void **          avalue;
-  ffi_type **      arg_types;
-  long             i, avn;
-  long             nf;   /* number of floating registers already used */
-  long             ng;   /* number of general registers already used */
-  ffi_cif *        cif;
-  double           temp;
-  unsigned         size;
-
-  cif = closure->cif;
-  avalue = alloca (cif->nargs * sizeof (void *));
-  size = cif->rtype->size;
-
-  nf = 0;
-  ng = 0;
-
-  /* Copy the caller's structure return value address so that the closure
-     returns the data directly to the caller.
-     For FFI_SYSV the result is passed in r3/r4 if the struct size is less
-     or equal 8 bytes.  */
-
-  if ((cif->rtype->type == FFI_TYPE_STRUCT
-       && !((cif->abi == FFI_SYSV) && (size <= 8)))
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-      || (cif->rtype->type == FFI_TYPE_LONGDOUBLE
-         && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-#endif
-      )
-    {
-      rvalue = (void *) *pgr;
-      ng++;
-      pgr++;
-    }
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  /* Grab the addresses of the arguments from the stack frame.  */
-  while (i < avn)
-    {
-      switch (arg_types[i]->type)
-       {
-       case FFI_TYPE_SINT8:
-       case FFI_TYPE_UINT8:
-         /* there are 8 gpr registers used to pass values */
-         if (ng < 8)
-           {
-             avalue[i] = (char *) pgr + 3;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = (char *) pst + 3;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_SINT16:
-       case FFI_TYPE_UINT16:
-         /* there are 8 gpr registers used to pass values */
-         if (ng < 8)
-           {
-             avalue[i] = (char *) pgr + 2;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = (char *) pst + 2;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_UINT32:
-       case FFI_TYPE_POINTER:
-       soft_float_closure:
-         /* there are 8 gpr registers used to pass values */
-         if (ng < 8)
-           {
-             avalue[i] = pgr;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = pst;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       do_struct:
-#endif
-         /* Structs are passed by reference. The address will appear in a
-            gpr if it is one of the first 8 arguments.  */
-         if (ng < 8)
-           {
-             avalue[i] = (void *) *pgr;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = (void *) *pst;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_UINT64:
-       soft_double_closure:
-         /* passing long long ints are complex, they must
-          * be passed in suitable register pairs such as
-          * (r3,r4) or (r5,r6) or (r6,r7), or (r7,r8) or (r9,r10)
-          * and if the entire pair aren't available then the outgoing
-          * parameter stack is used for both but an alignment of 8
-          * must will be kept.  So we must either look in pgr
-          * or pst to find the correct address for this type
-          * of parameter.
-          */
-         if (ng < 7)
-           {
-             if (ng & 0x01)
-               {
-                 /* skip r4, r6, r8 as starting points */
-                 ng++;
-                 pgr++;
-               }
-             avalue[i] = pgr;
-             ng += 2;
-             pgr += 2;
-           }
-         else
-           {
-             if (((long) pst) & 4)
-               pst++;
-             avalue[i] = pst;
-             pst += 2;
-             ng = 8;
-           }
-         break;
-
-       case FFI_TYPE_FLOAT:
-         /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32.  */
-         if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_float_closure;
-         /* unfortunately float values are stored as doubles
-          * in the ffi_closure_SYSV code (since we don't check
-          * the type in that routine).
-          */
-
-         /* there are 8 64bit floating point registers */
-
-         if (nf < 8)
-           {
-             temp = pfr->d;
-             pfr->f = (float) temp;
-             avalue[i] = pfr;
-             nf++;
-             pfr++;
-           }
-         else
-           {
-             /* FIXME? here we are really changing the values
-              * stored in the original calling routines outgoing
-              * parameter stack.  This is probably a really
-              * naughty thing to do but...
-              */
-             avalue[i] = pst;
-             pst += 1;
-           }
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64.  */
-         if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_double_closure;
-         /* On the outgoing stack all values are aligned to 8 */
-         /* there are 8 64bit floating point registers */
-
-         if (nf < 8)
-           {
-             avalue[i] = pfr;
-             nf++;
-             pfr++;
-           }
-         else
-           {
-             if (((long) pst) & 4)
-               pst++;
-             avalue[i] = pst;
-             pst += 2;
-           }
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-           goto do_struct;
-         if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-           { /* Test if for the whole long double, 4 gprs are available.
-                otherwise the stuff ends up on the stack.  */
-             if (ng < 5)
-               {
-                 avalue[i] = pgr;
-                 pgr += 4;
-                 ng += 4;
-               }
-             else
-               {
-                 avalue[i] = pst;
-                 pst += 4;
-                 ng = 8;
-               }
-             break;
-           }
-         if (nf < 7)
-           {
-             avalue[i] = pfr;
-             pfr += 2;
-             nf += 2;
-           }
-         else
-           {
-             if (((long) pst) & 4)
-               pst++;
-             avalue[i] = pst;
-             pst += 4;
-             nf = 8;
-           }
-         break;
-#endif
-
-       default:
-         FFI_ASSERT (0);
-       }
-
-      i++;
-    }
-
-
-  (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell ffi_closure_SYSV how to perform return type promotions.
-     Because the FFI_SYSV ABI returns the structures <= 8 bytes in r3/r4
-     we have to tell ffi_closure_SYSV how to treat them. We combine the base
-     type FFI_SYSV_TYPE_SMALL_STRUCT - 1  with the size of the struct.
-     So a one byte struct gets the return type 16. Return type 1 to 15 are
-     already used and we never have a struct with size zero. That is the reason
-     for the subtraction of 1. See the comment in ffitarget.h about ordering.
-  */
-  if (cif->abi == FFI_SYSV && cif->rtype->type == FFI_TYPE_STRUCT
-      && size <= 8)
-    return (FFI_SYSV_TYPE_SMALL_STRUCT - 1) + size;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-  else if (cif->rtype->type == FFI_TYPE_LONGDOUBLE
-          && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-    return FFI_TYPE_STRUCT;
-#endif
-  /* With FFI_LINUX_SOFT_FLOAT floats and doubles are handled like UINT32
-     respectivley UINT64.  */
-  if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-    {
-      switch (cif->rtype->type)
-       {
-       case FFI_TYPE_FLOAT:
-         return FFI_TYPE_UINT32;
-         break;
-       case FFI_TYPE_DOUBLE:
-         return FFI_TYPE_UINT64;
-         break;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         return FFI_TYPE_UINT128;
-         break;
-#endif
-       default:
-         return cif->rtype->type;
-       }
-    }
-  else
-    {
-      return cif->rtype->type;
-    }
-}
-
-int FFI_HIDDEN ffi_closure_helper_LINUX64 (ffi_closure *, void *,
-                                          unsigned long *, ffi_dblfl *);
-
-int FFI_HIDDEN
-ffi_closure_helper_LINUX64 (ffi_closure *closure, void *rvalue,
-                           unsigned long *pst, ffi_dblfl *pfr)
-{
-  /* rvalue is the pointer to space for return value in closure assembly */
-  /* pst is the pointer to parameter save area
-     (r3-r10 are stored into its first 8 slots by ffi_closure_LINUX64) */
-  /* pfr is the pointer to where f1-f13 are stored in ffi_closure_LINUX64 */
-
-  void **avalue;
-  ffi_type **arg_types;
-  long i, avn;
-  ffi_cif *cif;
-  ffi_dblfl *end_pfr = pfr + NUM_FPR_ARG_REGISTERS64;
-
-  cif = closure->cif;
-  avalue = alloca (cif->nargs * sizeof (void *));
-
-  /* Copy the caller's structure return value address so that the closure
-     returns the data directly to the caller.  */
-  if (cif->rtype->type == FFI_TYPE_STRUCT)
-    {
-      rvalue = (void *) *pst;
-      pst++;
-    }
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  /* Grab the addresses of the arguments from the stack frame.  */
-  while (i < avn)
-    {
-      switch (arg_types[i]->type)
-       {
-       case FFI_TYPE_SINT8:
-       case FFI_TYPE_UINT8:
-         avalue[i] = (char *) pst + 7;
-         pst++;
-         break;
-
-       case FFI_TYPE_SINT16:
-       case FFI_TYPE_UINT16:
-         avalue[i] = (char *) pst + 6;
-         pst++;
-         break;
-
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_UINT32:
-         avalue[i] = (char *) pst + 4;
-         pst++;
-         break;
-
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_POINTER:
-         avalue[i] = pst;
-         pst++;
-         break;
-
-       case FFI_TYPE_STRUCT:
-         /* Structures with size less than eight bytes are passed
-            left-padded.  */
-         if (arg_types[i]->size < 8)
-           avalue[i] = (char *) pst + 8 - arg_types[i]->size;
-         else
-           avalue[i] = pst;
-         pst += (arg_types[i]->size + 7) / 8;
-         break;
-
-       case FFI_TYPE_FLOAT:
-         /* unfortunately float values are stored as doubles
-          * in the ffi_closure_LINUX64 code (since we don't check
-          * the type in that routine).
-          */
-
-         /* there are 13 64bit floating point registers */
-
-         if (pfr < end_pfr)
-           {
-             double temp = pfr->d;
-             pfr->f = (float) temp;
-             avalue[i] = pfr;
-             pfr++;
-           }
-         else
-           avalue[i] = pst;
-         pst++;
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         /* On the outgoing stack all values are aligned to 8 */
-         /* there are 13 64bit floating point registers */
-
-         if (pfr < end_pfr)
-           {
-             avalue[i] = pfr;
-             pfr++;
-           }
-         else
-           avalue[i] = pst;
-         pst++;
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         if (pfr + 1 < end_pfr)
-           {
-             avalue[i] = pfr;
-             pfr += 2;
-           }
-         else
-           {
-             if (pfr < end_pfr)
-               {
-                 /* Passed partly in f13 and partly on the stack.
-                    Move it all to the stack.  */
-                 *pst = *(unsigned long *) pfr;
-                 pfr++;
-               }
-             avalue[i] = pst;
-           }
-         pst += 2;
-         break;
-#endif
-
-       default:
-         FFI_ASSERT (0);
-       }
-
-      i++;
-    }
-
-
-  (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell ffi_closure_LINUX64 how to perform return type promotions.  */
-  return cif->rtype->type;
-}
diff --git a/.pc/powerpc-ffi-softfloat/src/powerpc/ffitarget.h b/.pc/powerpc-ffi-softfloat/src/powerpc/ffitarget.h
deleted file mode 100644 (file)
index d17f731..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-   Copyright (C) 2007, 2008, 2010 Free Software Foundation, Inc
-   Target configuration macros for PowerPC.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#if defined (POWERPC) && defined (__powerpc64__)       /* linux64 */
-#ifndef POWERPC64
-#define POWERPC64
-#endif
-#elif defined (POWERPC_DARWIN) && defined (__ppc64__)  /* Darwin64 */
-#ifndef POWERPC64
-#define POWERPC64
-#endif
-#ifndef POWERPC_DARWIN64
-#define POWERPC_DARWIN64
-#endif
-#elif defined (POWERPC_AIX) && defined (__64BIT__)     /* AIX64 */
-#ifndef POWERPC64
-#define POWERPC64
-#endif
-#endif
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-
-#ifdef POWERPC
-  FFI_SYSV,
-  FFI_GCC_SYSV,
-  FFI_LINUX64,
-  FFI_LINUX,
-  FFI_LINUX_SOFT_FLOAT,
-# ifdef POWERPC64
-  FFI_DEFAULT_ABI = FFI_LINUX64,
-# else
-#  if (!defined(__NO_FPRS__) && (__LDBL_MANT_DIG__ == 106))
-  FFI_DEFAULT_ABI = FFI_LINUX,
-#  else
-#   ifdef __NO_FPRS__
-  FFI_DEFAULT_ABI = FFI_LINUX_SOFT_FLOAT,
-#   else
-  FFI_DEFAULT_ABI = FFI_GCC_SYSV,
-#   endif
-#  endif
-# endif
-#endif
-
-#ifdef POWERPC_AIX
-  FFI_AIX,
-  FFI_DARWIN,
-  FFI_DEFAULT_ABI = FFI_AIX,
-#endif
-
-#ifdef POWERPC_DARWIN
-  FFI_AIX,
-  FFI_DARWIN,
-  FFI_DEFAULT_ABI = FFI_DARWIN,
-#endif
-
-#ifdef POWERPC_FREEBSD
-  FFI_SYSV,
-  FFI_GCC_SYSV,
-  FFI_LINUX64,
-  FFI_LINUX,
-  FFI_LINUX_SOFT_FLOAT,
-  FFI_DEFAULT_ABI = FFI_SYSV,
-#endif
-
-  FFI_LAST_ABI
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_NATIVE_RAW_API 0
-
-/* For additional types like the below, take care about the order in
-   ppc_closures.S. They must follow after the FFI_TYPE_LAST.  */
-
-/* Needed for soft-float long-double-128 support.  */
-#define FFI_TYPE_UINT128 (FFI_TYPE_LAST + 1)
-
-/* Needed for FFI_SYSV small structure returns.
-   We use two flag bits, (FLAG_SYSV_SMST_R3, FLAG_SYSV_SMST_R4) which are
-   defined in ffi.c, to determine the exact return type and its size.  */
-#define FFI_SYSV_TYPE_SMALL_STRUCT (FFI_TYPE_LAST + 2)
-
-#if defined(POWERPC64) || defined(POWERPC_AIX)
-#  if defined(POWERPC_DARWIN64)
-#    define FFI_TRAMPOLINE_SIZE 48
-#  else
-#    define FFI_TRAMPOLINE_SIZE 24
-#  endif
-#else /* POWERPC || POWERPC_AIX */
-#  define FFI_TRAMPOLINE_SIZE 40
-#endif
-
-#ifndef LIBFFI_ASM
-#if defined(POWERPC_DARWIN) || defined(POWERPC_AIX)
-struct ffi_aix_trampoline_struct {
-    void * code_pointer;       /* Pointer to ffi_closure_ASM */
-    void * toc;                        /* TOC */
-    void * static_chain;       /* Pointer to closure */
-};
-#endif
-#endif
-
-#endif
diff --git a/.pc/powerpc-ffi-softfloat/src/powerpc/ppc_closure.S b/.pc/powerpc-ffi-softfloat/src/powerpc/ppc_closure.S
deleted file mode 100644 (file)
index 56f7d1a..0000000
+++ /dev/null
@@ -1,327 +0,0 @@
-/* -----------------------------------------------------------------------
-   sysv.h - Copyright (c) 2003 Jakub Jelinek <jakub@redhat.com>
-           Copyright (c) 2008 Red Hat, Inc.
-
-   PowerPC Assembly glue.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-#define LIBFFI_ASM
-#include <fficonfig.h>
-#include <ffi.h>
-#include <powerpc/asm.h>
-
-       .file   "ppc_closure.S"
-
-#ifndef __powerpc64__
-
-ENTRY(ffi_closure_SYSV)
-.LFB1:
-       stwu %r1,-144(%r1)
-.LCFI0:
-       mflr %r0
-.LCFI1:
-       stw %r0,148(%r1)
-
-# we want to build up an areas for the parameters passed
-# in registers (both floating point and integer)
-
-       # so first save gpr 3 to gpr 10 (aligned to 4)
-       stw   %r3, 16(%r1)
-       stw   %r4, 20(%r1)
-       stw   %r5, 24(%r1)
-       stw   %r6, 28(%r1)
-       stw   %r7, 32(%r1)
-       stw   %r8, 36(%r1)
-       stw   %r9, 40(%r1)
-       stw   %r10,44(%r1)
-
-#ifndef __NO_FPRS__
-       # next save fpr 1 to fpr 8 (aligned to 8)
-       stfd  %f1, 48(%r1)
-       stfd  %f2, 56(%r1)
-       stfd  %f3, 64(%r1)
-       stfd  %f4, 72(%r1)
-       stfd  %f5, 80(%r1)
-       stfd  %f6, 88(%r1)
-       stfd  %f7, 96(%r1)
-       stfd  %f8, 104(%r1)
-#endif
-
-       # set up registers for the routine that actually does the work
-       # get the context pointer from the trampoline
-       mr %r3,%r11
-
-       # now load up the pointer to the result storage
-       addi %r4,%r1,112
-
-       # now load up the pointer to the saved gpr registers
-       addi %r5,%r1,16
-
-       # now load up the pointer to the saved fpr registers */
-       addi %r6,%r1,48
-
-       # now load up the pointer to the outgoing parameter
-       # stack in the previous frame
-       # i.e. the previous frame pointer + 8
-       addi %r7,%r1,152
-
-       # make the call
-       bl ffi_closure_helper_SYSV@local
-.Lret:
-       # now r3 contains the return type
-       # so use it to look up in a table
-       # so we know how to deal with each type
-
-       # look up the proper starting point in table
-       # by using return type as offset
-
-       mflr %r4                # move address of .Lret to r4
-       slwi %r3,%r3,4          # now multiply return type by 16
-       addi %r4, %r4, .Lret_type0 - .Lret
-       lwz %r0,148(%r1)
-       add %r3,%r3,%r4         # add contents of table to table address
-       mtctr %r3
-       bctr                    # jump to it
-.LFE1:
-
-# Each of the ret_typeX code fragments has to be exactly 16 bytes long
-# (4 instructions). For cache effectiveness we align to a 16 byte boundary
-# first.
-       .align 4
-# case FFI_TYPE_VOID
-.Lret_type0:
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-       nop
-
-# case FFI_TYPE_INT
-       lwz %r3,112+0(%r1)
-       mtlr %r0
-.Lfinish:
-       addi %r1,%r1,144
-       blr
-
-# case FFI_TYPE_FLOAT
-       lfs %f1,112+0(%r1)
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-
-# case FFI_TYPE_DOUBLE
-       lfd %f1,112+0(%r1)
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-
-# case FFI_TYPE_LONGDOUBLE
-       lfd %f1,112+0(%r1)
-       lfd %f2,112+8(%r1)
-       mtlr %r0
-       b .Lfinish
-
-# case FFI_TYPE_UINT8
-       lbz %r3,112+3(%r1)
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-
-# case FFI_TYPE_SINT8
-       lbz %r3,112+3(%r1)
-       extsb %r3,%r3
-       mtlr %r0
-       b .Lfinish
-
-# case FFI_TYPE_UINT16
-       lhz %r3,112+2(%r1)
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-
-# case FFI_TYPE_SINT16
-       lha %r3,112+2(%r1)
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-
-# case FFI_TYPE_UINT32
-       lwz %r3,112+0(%r1)
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-
-# case FFI_TYPE_SINT32
-       lwz %r3,112+0(%r1)
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-
-# case FFI_TYPE_UINT64
-       lwz %r3,112+0(%r1)
-       lwz %r4,112+4(%r1)
-       mtlr %r0
-       b .Lfinish
-
-# case FFI_TYPE_SINT64
-       lwz %r3,112+0(%r1)
-       lwz %r4,112+4(%r1)
-       mtlr %r0
-       b .Lfinish
-
-# case FFI_TYPE_STRUCT
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-       nop
-
-# case FFI_TYPE_POINTER
-       lwz %r3,112+0(%r1)
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-
-# case FFI_TYPE_UINT128
-       lwz %r3,112+0(%r1)
-       lwz %r4,112+4(%r1)
-       lwz %r5,112+8(%r1)
-       bl .Luint128
-
-# The return types below are only used when the ABI type is FFI_SYSV.
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 1. One byte struct.
-       lbz %r3,112+0(%r1)
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 2. Two byte struct.
-       lhz %r3,112+0(%r1)
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 3. Three byte struct.
-       lwz %r3,112+0(%r1)
-       srwi %r3,%r3,8
-       mtlr %r0
-       b .Lfinish
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 4. Four byte struct.
-       lwz %r3,112+0(%r1)
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 5. Five byte struct.
-       lwz %r3,112+0(%r1)
-       lwz %r4,112+4(%r1)
-       li %r5,24
-       b .Lstruct567
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 6. Six byte struct.
-       lwz %r3,112+0(%r1)
-       lwz %r4,112+4(%r1)
-       li %r5,16
-       b .Lstruct567
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 7. Seven byte struct.
-       lwz %r3,112+0(%r1)
-       lwz %r4,112+4(%r1)
-       li %r5,8
-       b .Lstruct567
-
-# case FFI_SYSV_TYPE_SMALL_STRUCT + 8. Eight byte struct.
-       lwz %r3,112+0(%r1)
-       lwz %r4,112+4(%r1)
-       mtlr %r0
-       b .Lfinish
-
-.Lstruct567:
-       subfic %r6,%r5,32
-       srw %r4,%r4,%r5
-       slw %r6,%r3,%r6
-       srw %r3,%r3,%r5
-       or %r4,%r6,%r4
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-
-.Luint128:
-       lwz %r6,112+12(%r1)
-       mtlr %r0
-       addi %r1,%r1,144
-       blr
-
-END(ffi_closure_SYSV)
-
-       .section        ".eh_frame",EH_FRAME_FLAGS,@progbits
-.Lframe1:
-       .4byte  .LECIE1-.LSCIE1  # Length of Common Information Entry
-.LSCIE1:
-       .4byte  0x0      # CIE Identifier Tag
-       .byte   0x1      # CIE Version
-#if defined _RELOCATABLE || defined __PIC__
-       .ascii "zR\0"    # CIE Augmentation
-#else
-       .ascii "\0"      # CIE Augmentation
-#endif
-       .uleb128 0x1     # CIE Code Alignment Factor
-       .sleb128 -4      # CIE Data Alignment Factor
-       .byte   0x41     # CIE RA Column
-#if defined _RELOCATABLE || defined __PIC__
-       .uleb128 0x1     # Augmentation size
-       .byte   0x1b     # FDE Encoding (pcrel sdata4)
-#endif
-       .byte   0xc      # DW_CFA_def_cfa
-       .uleb128 0x1
-       .uleb128 0x0
-       .align 2
-.LECIE1:
-.LSFDE1:
-       .4byte  .LEFDE1-.LASFDE1         # FDE Length
-.LASFDE1:
-       .4byte  .LASFDE1-.Lframe1        # FDE CIE offset
-#if defined _RELOCATABLE || defined __PIC__
-       .4byte  .LFB1-.  # FDE initial location
-#else
-       .4byte  .LFB1    # FDE initial location
-#endif
-       .4byte  .LFE1-.LFB1      # FDE address range
-#if defined _RELOCATABLE || defined __PIC__
-       .uleb128 0x0     # Augmentation size
-#endif
-       .byte   0x4      # DW_CFA_advance_loc4
-       .4byte  .LCFI0-.LFB1
-       .byte   0xe      # DW_CFA_def_cfa_offset
-       .uleb128 144
-       .byte   0x4      # DW_CFA_advance_loc4
-       .4byte  .LCFI1-.LCFI0
-       .byte   0x11     # DW_CFA_offset_extended_sf
-       .uleb128 0x41
-       .sleb128 -1
-       .align 2
-.LEFDE1:
-
-#endif
-
-#if defined __ELF__ && defined __linux__
-       .section        .note.GNU-stack,"",@progbits
-#endif
diff --git a/.pc/powerpc-ffi-softfloat/src/powerpc/sysv.S b/.pc/powerpc-ffi-softfloat/src/powerpc/sysv.S
deleted file mode 100644 (file)
index 9ad8d9f..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-/* -----------------------------------------------------------------------
-   sysv.S - Copyright (c) 1998 Geoffrey Keating
-   Copyright (C) 2007 Free Software Foundation, Inc
-
-   PowerPC Assembly glue.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#define LIBFFI_ASM
-#include <fficonfig.h>
-#include <ffi.h>
-#include <powerpc/asm.h>
-
-#ifndef __powerpc64__
-       .globl ffi_prep_args_SYSV
-ENTRY(ffi_call_SYSV)
-.LFB1:
-       /* Save the old stack pointer as AP.  */
-       mr      %r8,%r1
-
-.LCFI0:
-       /* Allocate the stack space we need.  */
-       stwux   %r1,%r1,%r4
-       /* Save registers we use.  */
-       mflr    %r9
-       stw     %r28,-16(%r8)
-.LCFI1:
-       stw     %r29,-12(%r8)
-.LCFI2:
-       stw     %r30, -8(%r8)
-.LCFI3:
-       stw     %r31, -4(%r8)
-.LCFI4:
-       stw     %r9,   4(%r8)
-.LCFI5:
-
-       /* Save arguments over call...  */
-       mr      %r31,%r5        /* flags, */
-       mr      %r30,%r6        /* rvalue, */
-       mr      %r29,%r7        /* function address, */
-       mr      %r28,%r8        /* our AP. */
-.LCFI6:
-
-       /* Call ffi_prep_args_SYSV.  */
-       mr      %r4,%r1
-       bl      ffi_prep_args_SYSV@local
-
-       /* Now do the call.  */
-       /* Set up cr1 with bits 4-7 of the flags.  */
-       mtcrf   0x40,%r31
-       /* Get the address to call into CTR.  */
-       mtctr   %r29
-       /* Load all those argument registers.  */
-       lwz     %r3,-16-(8*4)(%r28)
-       lwz     %r4,-16-(7*4)(%r28)
-       lwz     %r5,-16-(6*4)(%r28)
-       lwz     %r6,-16-(5*4)(%r28)
-       bf-     5,1f
-       nop
-       lwz     %r7,-16-(4*4)(%r28)
-       lwz     %r8,-16-(3*4)(%r28)
-       lwz     %r9,-16-(2*4)(%r28)
-       lwz     %r10,-16-(1*4)(%r28)
-       nop
-1:
-
-       /* Load all the FP registers.  */
-       bf-     6,2f
-       lfd     %f1,-16-(8*4)-(8*8)(%r28)
-       lfd     %f2,-16-(8*4)-(7*8)(%r28)
-       lfd     %f3,-16-(8*4)-(6*8)(%r28)
-       lfd     %f4,-16-(8*4)-(5*8)(%r28)
-       nop
-       lfd     %f5,-16-(8*4)-(4*8)(%r28)
-       lfd     %f6,-16-(8*4)-(3*8)(%r28)
-       lfd     %f7,-16-(8*4)-(2*8)(%r28)
-       lfd     %f8,-16-(8*4)-(1*8)(%r28)
-2:
-
-       /* Make the call.  */
-       bctrl
-
-       /* Now, deal with the return value.  */
-       mtcrf   0x01,%r31 /* cr7  */
-       bt-     31,L(small_struct_return_value)
-       bt-     30,L(done_return_value)
-       bt-     29,L(fp_return_value)
-       stw     %r3,0(%r30)
-       bf+     28,L(done_return_value)
-       stw     %r4,4(%r30)
-       mtcrf   0x02,%r31 /* cr6  */
-       bf      27,L(done_return_value)
-       stw     %r5,8(%r30)
-       stw     %r6,12(%r30)
-       /* Fall through...  */
-
-L(done_return_value):
-       /* Restore the registers we used and return.  */
-       lwz     %r9,   4(%r28)
-       lwz     %r31, -4(%r28)
-       mtlr    %r9
-       lwz     %r30, -8(%r28)
-       lwz     %r29,-12(%r28)
-       lwz     %r28,-16(%r28)
-       lwz     %r1,0(%r1)
-       blr
-
-L(fp_return_value):
-       bf      28,L(float_return_value)
-       stfd    %f1,0(%r30)
-       mtcrf   0x02,%r31 /* cr6  */
-       bf      27,L(done_return_value)
-       stfd    %f2,8(%r30)
-       b       L(done_return_value)
-L(float_return_value):
-       stfs    %f1,0(%r30)
-       b       L(done_return_value)
-
-L(small_struct_return_value):
-       /*
-        * The C code always allocates a properly-aligned 8-byte bounce
-        * buffer to make this assembly code very simple.  Just write out
-        * r3 and r4 to the buffer to allow the C code to handle the rest.
-        */
-       stw %r3, 0(%r30)
-       stw %r4, 4(%r30)
-       b L(done_return_value)
-
-.LFE1:
-END(ffi_call_SYSV)
-
-      .section ".eh_frame",EH_FRAME_FLAGS,@progbits
-.Lframe1:
-      .4byte    .LECIE1-.LSCIE1  /*  Length of Common Information Entry */
-.LSCIE1:
-      .4byte    0x0      /*  CIE Identifier Tag */
-      .byte     0x1      /*  CIE Version */
-#if defined _RELOCATABLE || defined __PIC__
-      .ascii   "zR\0"   /*  CIE Augmentation */
-#else
-      .ascii   "\0"     /*  CIE Augmentation */
-#endif
-      .uleb128  0x1      /*  CIE Code Alignment Factor */
-      .sleb128  -4      /*  CIE Data Alignment Factor */
-      .byte     0x41     /*  CIE RA Column */
-#if defined _RELOCATABLE || defined __PIC__
-      .uleb128  0x1      /*  Augmentation size */
-      .byte    0x1b     /*  FDE Encoding (pcrel sdata4) */
-#endif
-      .byte     0xc      /*  DW_CFA_def_cfa */
-      .uleb128  0x1
-      .uleb128  0x0
-      .align 2
-.LECIE1:
-.LSFDE1:
-      .4byte    .LEFDE1-.LASFDE1         /*  FDE Length */
-.LASFDE1:
-      .4byte    .LASFDE1-.Lframe1         /*  FDE CIE offset */
-#if defined _RELOCATABLE || defined __PIC__
-      .4byte    .LFB1-.  /*  FDE initial location */
-#else
-      .4byte    .LFB1    /*  FDE initial location */
-#endif
-      .4byte    .LFE1-.LFB1      /*  FDE address range */
-#if defined _RELOCATABLE || defined __PIC__
-      .uleb128  0x0     /*  Augmentation size */
-#endif
-      .byte     0x4      /*  DW_CFA_advance_loc4 */
-      .4byte    .LCFI0-.LFB1
-      .byte     0xd      /*  DW_CFA_def_cfa_register */
-      .uleb128  0x08
-      .byte     0x4      /*  DW_CFA_advance_loc4 */
-      .4byte    .LCFI5-.LCFI0
-      .byte     0x11     /*  DW_CFA_offset_extended_sf */
-      .uleb128  0x41
-      .sleb128  -1
-      .byte     0x9f     /*  DW_CFA_offset, column 0x1f */
-      .uleb128  0x1
-      .byte     0x9e     /*  DW_CFA_offset, column 0x1e */
-      .uleb128  0x2
-      .byte     0x9d     /*  DW_CFA_offset, column 0x1d */
-      .uleb128  0x3
-      .byte     0x9c     /*  DW_CFA_offset, column 0x1c */
-      .uleb128  0x4
-      .byte     0x4      /*  DW_CFA_advance_loc4 */
-      .4byte    .LCFI6-.LCFI5
-      .byte     0xd      /*  DW_CFA_def_cfa_register */
-      .uleb128  0x1c
-      .align 2
-.LEFDE1:
-#endif
-
-#if defined __ELF__ && defined __linux__
-       .section        .note.GNU-stack,"",@progbits
-#endif
diff --git a/.pc/powerpc-sysv-without-string-ops/.timestamp b/.pc/powerpc-sysv-without-string-ops/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/powerpc-sysv-without-string-ops/ChangeLog b/.pc/powerpc-sysv-without-string-ops/ChangeLog
deleted file mode 100644 (file)
index 5744c4b..0000000
+++ /dev/null
@@ -1,4686 +0,0 @@
-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  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  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-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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * 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.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/powerpc-sysv-without-string-ops/src/powerpc/ffi.c b/.pc/powerpc-sysv-without-string-ops/src/powerpc/ffi.c
deleted file mode 100644 (file)
index fb2a39f..0000000
+++ /dev/null
@@ -1,1448 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (C) 2011 Anthony Green
-           Copyright (C) 2008 Red Hat, Inc
-           Copyright (C) 2007, 2008 Free Software Foundation, Inc
-          Copyright (c) 1998 Geoffrey Keating
-
-   PowerPC Foreign Function Interface
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
-   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-   OTHER DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdio.h>
-
-
-extern void ffi_closure_SYSV (void);
-extern void FFI_HIDDEN ffi_closure_LINUX64 (void);
-
-enum {
-  /* The assembly depends on these exact flags.  */
-  FLAG_RETURNS_SMST    = 1 << (31-31), /* Used for FFI_SYSV small structs.  */
-  FLAG_RETURNS_NOTHING  = 1 << (31-30), /* These go in cr7 */
-  FLAG_RETURNS_FP       = 1 << (31-29),
-  FLAG_RETURNS_64BITS   = 1 << (31-28),
-
-  FLAG_RETURNS_128BITS  = 1 << (31-27), /* cr6  */
-  FLAG_SYSV_SMST_R4     = 1 << (31-26), /* use r4 for FFI_SYSV 8 byte
-                                          structs.  */
-  FLAG_SYSV_SMST_R3     = 1 << (31-25), /* use r3 for FFI_SYSV 4 byte
-                                          structs.  */
-  /* Bits (31-24) through (31-19) store shift value for SMST */
-
-  FLAG_ARG_NEEDS_COPY   = 1 << (31- 7),
-  FLAG_FP_ARGUMENTS     = 1 << (31- 6), /* cr1.eq; specified by ABI */
-  FLAG_4_GPR_ARGUMENTS  = 1 << (31- 5),
-  FLAG_RETVAL_REFERENCE = 1 << (31- 4)
-};
-
-/* About the SYSV ABI.  */
-unsigned int NUM_GPR_ARG_REGISTERS = 8;
-#ifndef __NO_FPRS__
-unsigned int NUM_FPR_ARG_REGISTERS = 8;
-#else
-unsigned int NUM_FPR_ARG_REGISTERS = 0;
-#endif
-
-enum { ASM_NEEDS_REGISTERS = 4 };
-
-/* ffi_prep_args_SYSV is called by the assembly routine once stack space
-   has been allocated for the function's arguments.
-
-   The stack layout we want looks like this:
-
-   |   Return address from ffi_call_SYSV 4bytes        |       higher addresses
-   |--------------------------------------------|
-   |   Previous backchain pointer      4       |       stack pointer here
-   |--------------------------------------------|<+ <<<        on entry to
-   |   Saved r28-r31                   4*4     | |     ffi_call_SYSV
-   |--------------------------------------------| |
-   |   GPR registers r3-r10            8*4     | |     ffi_call_SYSV
-   |--------------------------------------------| |
-   |   FPR registers f1-f8 (optional)  8*8     | |
-   |--------------------------------------------| |    stack   |
-   |   Space for copied structures             | |     grows   |
-   |--------------------------------------------| |    down    V
-   |   Parameters that didn't fit in registers  | |
-   |--------------------------------------------| |    lower addresses
-   |   Space for callee's LR           4       | |
-   |--------------------------------------------| |    stack pointer here
-   |   Current backchain pointer       4       |-/     during
-   |--------------------------------------------|   <<<        ffi_call_SYSV
-
-*/
-
-void
-ffi_prep_args_SYSV (extended_cif *ecif, unsigned *const stack)
-{
-  const unsigned bytes = ecif->cif->bytes;
-  const unsigned flags = ecif->cif->flags;
-
-  typedef union {
-    char *c;
-    unsigned *u;
-    long long *ll;
-    float *f;
-    double *d;
-  } valp;
-
-  /* 'stacktop' points at the previous backchain pointer.  */
-  valp stacktop;
-
-  /* 'gpr_base' points at the space for gpr3, and grows upwards as
-     we use GPR registers.  */
-  valp gpr_base;
-  int intarg_count;
-
-  /* 'fpr_base' points at the space for fpr1, and grows upwards as
-     we use FPR registers.  */
-  valp fpr_base;
-  int fparg_count;
-
-  /* 'copy_space' grows down as we put structures in it.  It should
-     stay 16-byte aligned.  */
-  valp copy_space;
-
-  /* 'next_arg' grows up as we put parameters in it.  */
-  valp next_arg;
-
-  int i, ii MAYBE_UNUSED;
-  ffi_type **ptr;
-  double double_tmp;
-  union {
-    void **v;
-    char **c;
-    signed char **sc;
-    unsigned char **uc;
-    signed short **ss;
-    unsigned short **us;
-    unsigned int **ui;
-    long long **ll;
-    float **f;
-    double **d;
-  } p_argv;
-  size_t struct_copy_size;
-  unsigned gprvalue;
-
-  if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-    NUM_FPR_ARG_REGISTERS = 0;
-
-  stacktop.c = (char *) stack + bytes;
-  gpr_base.u = stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS;
-  intarg_count = 0;
-  fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS;
-  fparg_count = 0;
-  copy_space.c = ((flags & FLAG_FP_ARGUMENTS) ? fpr_base.c : gpr_base.c);
-  next_arg.u = stack + 2;
-
-  /* Check that everything starts aligned properly.  */
-  FFI_ASSERT (((unsigned) (char *) stack & 0xF) == 0);
-  FFI_ASSERT (((unsigned) copy_space.c & 0xF) == 0);
-  FFI_ASSERT (((unsigned) stacktop.c & 0xF) == 0);
-  FFI_ASSERT ((bytes & 0xF) == 0);
-  FFI_ASSERT (copy_space.c >= next_arg.c);
-
-  /* Deal with return values that are actually pass-by-reference.  */
-  if (flags & FLAG_RETVAL_REFERENCE)
-    {
-      *gpr_base.u++ = (unsigned long) (char *) ecif->rvalue;
-      intarg_count++;
-    }
-
-  /* Now for the arguments.  */
-  p_argv.v = ecif->avalue;
-  for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
-       i > 0;
-       i--, ptr++, p_argv.v++)
-    {
-      switch ((*ptr)->type)
-       {
-       case FFI_TYPE_FLOAT:
-         /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32.  */
-         if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_float_prep;
-         double_tmp = **p_argv.f;
-         if (fparg_count >= NUM_FPR_ARG_REGISTERS)
-           {
-             *next_arg.f = (float) double_tmp;
-             next_arg.u += 1;
-             intarg_count++;
-           }
-         else
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64.  */
-         if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_double_prep;
-         double_tmp = **p_argv.d;
-
-         if (fparg_count >= NUM_FPR_ARG_REGISTERS)
-           {
-             if (intarg_count >= NUM_GPR_ARG_REGISTERS
-                 && intarg_count % 2 != 0)
-               {
-                 intarg_count++;
-                 next_arg.u++;
-               }
-             *next_arg.d = double_tmp;
-             next_arg.u += 2;
-           }
-         else
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         if ((ecif->cif->abi != FFI_LINUX)
-               && (ecif->cif->abi != FFI_LINUX_SOFT_FLOAT))
-           goto do_struct;
-         /* The soft float ABI for long doubles works like this,
-            a long double is passed in four consecutive gprs if available.
-            A maximum of 2 long doubles can be passed in gprs.
-            If we do not have 4 gprs left, the long double is passed on the
-            stack, 4-byte aligned.  */
-         if (ecif->cif->abi == FFI_LINUX_SOFT_FLOAT)
-           {
-             unsigned int int_tmp = (*p_argv.ui)[0];
-             if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3)
-               {
-                 if (intarg_count < NUM_GPR_ARG_REGISTERS)
-                   intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
-                 *next_arg.u = int_tmp;
-                 next_arg.u++;
-                 for (ii = 1; ii < 4; ii++)
-                   {
-                     int_tmp = (*p_argv.ui)[ii];
-                     *next_arg.u = int_tmp;
-                     next_arg.u++;
-                   }
-               }
-             else
-               {
-                 *gpr_base.u++ = int_tmp;
-                 for (ii = 1; ii < 4; ii++)
-                   {
-                     int_tmp = (*p_argv.ui)[ii];
-                     *gpr_base.u++ = int_tmp;
-                   }
-               }
-             intarg_count +=4;
-           }
-         else
-           {
-             double_tmp = (*p_argv.d)[0];
-
-             if (fparg_count >= NUM_FPR_ARG_REGISTERS - 1)
-               {
-                 if (intarg_count >= NUM_GPR_ARG_REGISTERS
-                     && intarg_count % 2 != 0)
-                   {
-                     intarg_count++;
-                     next_arg.u++;
-                   }
-                 *next_arg.d = double_tmp;
-                 next_arg.u += 2;
-                 double_tmp = (*p_argv.d)[1];
-                 *next_arg.d = double_tmp;
-                 next_arg.u += 2;
-               }
-             else
-               {
-                 *fpr_base.d++ = double_tmp;
-                 double_tmp = (*p_argv.d)[1];
-                 *fpr_base.d++ = double_tmp;
-               }
-
-             fparg_count += 2;
-             FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-           }
-         break;
-#endif
-
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-       soft_double_prep:
-         if (intarg_count == NUM_GPR_ARG_REGISTERS-1)
-           intarg_count++;
-         if (intarg_count >= NUM_GPR_ARG_REGISTERS)
-           {
-             if (intarg_count % 2 != 0)
-               {
-                 intarg_count++;
-                 next_arg.u++;
-               }
-             *next_arg.ll = **p_argv.ll;
-             next_arg.u += 2;
-           }
-         else
-           {
-             /* whoops: abi states only certain register pairs
-              * can be used for passing long long int
-              * specifically (r3,r4), (r5,r6), (r7,r8),
-              * (r9,r10) and if next arg is long long but
-              * not correct starting register of pair then skip
-              * until the proper starting register
-              */
-             if (intarg_count % 2 != 0)
-               {
-                 intarg_count ++;
-                 gpr_base.u++;
-               }
-             *gpr_base.ll++ = **p_argv.ll;
-           }
-         intarg_count += 2;
-         break;
-
-       case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       do_struct:
-#endif
-         struct_copy_size = ((*ptr)->size + 15) & ~0xF;
-         copy_space.c -= struct_copy_size;
-         memcpy (copy_space.c, *p_argv.c, (*ptr)->size);
-
-         gprvalue = (unsigned long) copy_space.c;
-
-         FFI_ASSERT (copy_space.c > next_arg.c);
-         FFI_ASSERT (flags & FLAG_ARG_NEEDS_COPY);
-         goto putgpr;
-
-       case FFI_TYPE_UINT8:
-         gprvalue = **p_argv.uc;
-         goto putgpr;
-       case FFI_TYPE_SINT8:
-         gprvalue = **p_argv.sc;
-         goto putgpr;
-       case FFI_TYPE_UINT16:
-         gprvalue = **p_argv.us;
-         goto putgpr;
-       case FFI_TYPE_SINT16:
-         gprvalue = **p_argv.ss;
-         goto putgpr;
-
-       case FFI_TYPE_INT:
-       case FFI_TYPE_UINT32:
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_POINTER:
-       soft_float_prep:
-
-         gprvalue = **p_argv.ui;
-
-       putgpr:
-         if (intarg_count >= NUM_GPR_ARG_REGISTERS)
-           *next_arg.u++ = gprvalue;
-         else
-           *gpr_base.u++ = gprvalue;
-         intarg_count++;
-         break;
-       }
-    }
-
-  /* Check that we didn't overrun the stack...  */
-  FFI_ASSERT (copy_space.c >= next_arg.c);
-  FFI_ASSERT (gpr_base.u <= stacktop.u - ASM_NEEDS_REGISTERS);
-  FFI_ASSERT (fpr_base.u
-             <= stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS);
-  FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4);
-}
-
-/* About the LINUX64 ABI.  */
-enum {
-  NUM_GPR_ARG_REGISTERS64 = 8,
-  NUM_FPR_ARG_REGISTERS64 = 13
-};
-enum { ASM_NEEDS_REGISTERS64 = 4 };
-
-/* ffi_prep_args64 is called by the assembly routine once stack space
-   has been allocated for the function's arguments.
-
-   The stack layout we want looks like this:
-
-   |   Ret addr from ffi_call_LINUX64  8bytes  |       higher addresses
-   |--------------------------------------------|
-   |   CR save area                    8bytes  |
-   |--------------------------------------------|
-   |   Previous backchain pointer      8       |       stack pointer here
-   |--------------------------------------------|<+ <<<        on entry to
-   |   Saved r28-r31                   4*8     | |     ffi_call_LINUX64
-   |--------------------------------------------| |
-   |   GPR registers r3-r10            8*8     | |
-   |--------------------------------------------| |
-   |   FPR registers f1-f13 (optional) 13*8    | |
-   |--------------------------------------------| |
-   |   Parameter save area                     | |
-   |--------------------------------------------| |
-   |   TOC save area                   8       | |
-   |--------------------------------------------| |    stack   |
-   |   Linker doubleword               8       | |     grows   |
-   |--------------------------------------------| |    down    V
-   |   Compiler doubleword             8       | |
-   |--------------------------------------------| |    lower addresses
-   |   Space for callee's LR           8       | |
-   |--------------------------------------------| |
-   |   CR save area                    8       | |
-   |--------------------------------------------| |    stack pointer here
-   |   Current backchain pointer       8       |-/     during
-   |--------------------------------------------|   <<<        ffi_call_LINUX64
-
-*/
-
-void FFI_HIDDEN
-ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
-{
-  const unsigned long bytes = ecif->cif->bytes;
-  const unsigned long flags = ecif->cif->flags;
-
-  typedef union {
-    char *c;
-    unsigned long *ul;
-    float *f;
-    double *d;
-  } valp;
-
-  /* 'stacktop' points at the previous backchain pointer.  */
-  valp stacktop;
-
-  /* 'next_arg' points at the space for gpr3, and grows upwards as
-     we use GPR registers, then continues at rest.  */
-  valp gpr_base;
-  valp gpr_end;
-  valp rest;
-  valp next_arg;
-
-  /* 'fpr_base' points at the space for fpr3, and grows upwards as
-     we use FPR registers.  */
-  valp fpr_base;
-  int fparg_count;
-
-  int i, words;
-  ffi_type **ptr;
-  double double_tmp;
-  union {
-    void **v;
-    char **c;
-    signed char **sc;
-    unsigned char **uc;
-    signed short **ss;
-    unsigned short **us;
-    signed int **si;
-    unsigned int **ui;
-    unsigned long **ul;
-    float **f;
-    double **d;
-  } p_argv;
-  unsigned long gprvalue;
-
-  stacktop.c = (char *) stack + bytes;
-  gpr_base.ul = stacktop.ul - ASM_NEEDS_REGISTERS64 - NUM_GPR_ARG_REGISTERS64;
-  gpr_end.ul = gpr_base.ul + NUM_GPR_ARG_REGISTERS64;
-  rest.ul = stack + 6 + NUM_GPR_ARG_REGISTERS64;
-  fpr_base.d = gpr_base.d - NUM_FPR_ARG_REGISTERS64;
-  fparg_count = 0;
-  next_arg.ul = gpr_base.ul;
-
-  /* Check that everything starts aligned properly.  */
-  FFI_ASSERT (((unsigned long) (char *) stack & 0xF) == 0);
-  FFI_ASSERT (((unsigned long) stacktop.c & 0xF) == 0);
-  FFI_ASSERT ((bytes & 0xF) == 0);
-
-  /* Deal with return values that are actually pass-by-reference.  */
-  if (flags & FLAG_RETVAL_REFERENCE)
-    *next_arg.ul++ = (unsigned long) (char *) ecif->rvalue;
-
-  /* Now for the arguments.  */
-  p_argv.v = ecif->avalue;
-  for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
-       i > 0;
-       i--, ptr++, p_argv.v++)
-    {
-      switch ((*ptr)->type)
-       {
-       case FFI_TYPE_FLOAT:
-         double_tmp = **p_argv.f;
-         *next_arg.f = (float) double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         double_tmp = **p_argv.d;
-         *next_arg.d = double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         double_tmp = (*p_argv.d)[0];
-         *next_arg.d = double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         double_tmp = (*p_argv.d)[1];
-         *next_arg.d = double_tmp;
-         if (++next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         if (fparg_count < NUM_FPR_ARG_REGISTERS64)
-           *fpr_base.d++ = double_tmp;
-         fparg_count++;
-         FFI_ASSERT (__LDBL_MANT_DIG__ == 106);
-         FFI_ASSERT (flags & FLAG_FP_ARGUMENTS);
-         break;
-#endif
-
-       case FFI_TYPE_STRUCT:
-         words = ((*ptr)->size + 7) / 8;
-         if (next_arg.ul >= gpr_base.ul && next_arg.ul + words > gpr_end.ul)
-           {
-             size_t first = gpr_end.c - next_arg.c;
-             memcpy (next_arg.c, *p_argv.c, first);
-             memcpy (rest.c, *p_argv.c + first, (*ptr)->size - first);
-             next_arg.c = rest.c + words * 8 - first;
-           }
-         else
-           {
-             char *where = next_arg.c;
-
-             /* Structures with size less than eight bytes are passed
-                left-padded.  */
-             if ((*ptr)->size < 8)
-               where += 8 - (*ptr)->size;
-
-             memcpy (where, *p_argv.c, (*ptr)->size);
-             next_arg.ul += words;
-             if (next_arg.ul == gpr_end.ul)
-               next_arg.ul = rest.ul;
-           }
-         break;
-
-       case FFI_TYPE_UINT8:
-         gprvalue = **p_argv.uc;
-         goto putgpr;
-       case FFI_TYPE_SINT8:
-         gprvalue = **p_argv.sc;
-         goto putgpr;
-       case FFI_TYPE_UINT16:
-         gprvalue = **p_argv.us;
-         goto putgpr;
-       case FFI_TYPE_SINT16:
-         gprvalue = **p_argv.ss;
-         goto putgpr;
-       case FFI_TYPE_UINT32:
-         gprvalue = **p_argv.ui;
-         goto putgpr;
-       case FFI_TYPE_INT:
-       case FFI_TYPE_SINT32:
-         gprvalue = **p_argv.si;
-         goto putgpr;
-
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_POINTER:
-         gprvalue = **p_argv.ul;
-       putgpr:
-         *next_arg.ul++ = gprvalue;
-         if (next_arg.ul == gpr_end.ul)
-           next_arg.ul = rest.ul;
-         break;
-       }
-    }
-
-  FFI_ASSERT (flags & FLAG_4_GPR_ARGUMENTS
-             || (next_arg.ul >= gpr_base.ul
-                 && next_arg.ul <= gpr_base.ul + 4));
-}
-
-
-
-/* Perform machine dependent cif processing */
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
-  /* All this is for the SYSV and LINUX64 ABI.  */
-  int i;
-  ffi_type **ptr;
-  unsigned bytes;
-  int fparg_count = 0, intarg_count = 0;
-  unsigned flags = 0;
-  unsigned struct_copy_size = 0;
-  unsigned type = cif->rtype->type;
-  unsigned size = cif->rtype->size;
-
-  if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-    NUM_FPR_ARG_REGISTERS = 0;
-
-  if (cif->abi != FFI_LINUX64)
-    {
-      /* All the machine-independent calculation of cif->bytes will be wrong.
-        Redo the calculation for SYSV.  */
-
-      /* Space for the frame pointer, callee's LR, and the asm's temp regs.  */
-      bytes = (2 + ASM_NEEDS_REGISTERS) * sizeof (int);
-
-      /* Space for the GPR registers.  */
-      bytes += NUM_GPR_ARG_REGISTERS * sizeof (int);
-    }
-  else
-    {
-      /* 64-bit ABI.  */
-
-      /* Space for backchain, CR, LR, cc/ld doubleword, TOC and the asm's temp
-        regs.  */
-      bytes = (6 + ASM_NEEDS_REGISTERS64) * sizeof (long);
-
-      /* Space for the mandatory parm save area and general registers.  */
-      bytes += 2 * NUM_GPR_ARG_REGISTERS64 * sizeof (long);
-    }
-
-  /* Return value handling.  The rules for SYSV are as follows:
-     - 32-bit (or less) integer values are returned in gpr3;
-     - Structures of size <= 4 bytes also returned in gpr3;
-     - 64-bit integer values and structures between 5 and 8 bytes are returned
-     in gpr3 and gpr4;
-     - Single/double FP values are returned in fpr1;
-     - Larger structures are allocated space and a pointer is passed as
-     the first argument.
-     - long doubles (if not equivalent to double) are returned in
-     fpr1,fpr2 for Linux and as for large structs for SysV.
-     For LINUX64:
-     - integer values in gpr3;
-     - Structures/Unions by reference;
-     - Single/double FP values in fpr1, long double in fpr1,fpr2.
-     - soft-float float/doubles are treated as UINT32/UINT64 respectivley.
-     - soft-float long doubles are returned in gpr3-gpr6.  */
-  switch (type)
-    {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-    case FFI_TYPE_LONGDOUBLE:
-      if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX64
-       && cif->abi != FFI_LINUX_SOFT_FLOAT)
-       goto byref;
-      flags |= FLAG_RETURNS_128BITS;
-      /* Fall through.  */
-#endif
-    case FFI_TYPE_DOUBLE:
-      flags |= FLAG_RETURNS_64BITS;
-      /* Fall through.  */
-    case FFI_TYPE_FLOAT:
-      /* With FFI_LINUX_SOFT_FLOAT no fp registers are used.  */
-      if (cif->abi != FFI_LINUX_SOFT_FLOAT)
-       flags |= FLAG_RETURNS_FP;
-      break;
-
-    case FFI_TYPE_UINT64:
-    case FFI_TYPE_SINT64:
-      flags |= FLAG_RETURNS_64BITS;
-      break;
-
-    case FFI_TYPE_STRUCT:
-      if (cif->abi == FFI_SYSV)
-       {
-         /* The final SYSV ABI says that structures smaller or equal 8 bytes
-            are returned in r3/r4. The FFI_GCC_SYSV ABI instead returns them
-            in memory.  */
-
-         /* Treat structs with size <= 8 bytes.  */
-         if (size <= 8)
-           {
-             flags |= FLAG_RETURNS_SMST;
-             /* These structs are returned in r3. We pack the type and the
-                precalculated shift value (needed in the sysv.S) into flags.
-                The same applies for the structs returned in r3/r4.  */
-             if (size <= 4)
-               {
-                 flags |= FLAG_SYSV_SMST_R3;
-                 flags |= 8 * (4 - size) << 8;
-                 break;
-               }
-             /* These structs are returned in r3 and r4. See above.   */
-             if  (size <= 8)
-               {
-                 flags |= FLAG_SYSV_SMST_R3 | FLAG_SYSV_SMST_R4;
-                 flags |= 8 * (8 - size) << 8;
-                 break;
-               }
-           }
-       }
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-    byref:
-#endif
-      intarg_count++;
-      flags |= FLAG_RETVAL_REFERENCE;
-      /* Fall through.  */
-    case FFI_TYPE_VOID:
-      flags |= FLAG_RETURNS_NOTHING;
-      break;
-
-    default:
-      /* Returns 32-bit integer, or similar.  Nothing to do here.  */
-      break;
-    }
-
-  if (cif->abi != FFI_LINUX64)
-    /* The first NUM_GPR_ARG_REGISTERS words of integer arguments, and the
-       first NUM_FPR_ARG_REGISTERS fp arguments, go in registers; the rest
-       goes on the stack.  Structures and long doubles (if not equivalent
-       to double) are passed as a pointer to a copy of the structure.
-       Stuff on the stack needs to keep proper alignment.  */
-    for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-      {
-       switch ((*ptr)->type)
-         {
-         case FFI_TYPE_FLOAT:
-           /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32.  */
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             goto soft_float_cif;
-           fparg_count++;
-           /* floating singles are not 8-aligned on stack */
-           break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         case FFI_TYPE_LONGDOUBLE:
-           if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-             goto do_struct;
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             {
-               if (intarg_count >= NUM_GPR_ARG_REGISTERS - 3
-                 || intarg_count < NUM_GPR_ARG_REGISTERS)
-                 /* A long double in FFI_LINUX_SOFT_FLOAT can use only
-                    a set of four consecutive gprs. If we have not enough,
-                    we have to adjust the intarg_count value.  */
-                 intarg_count += NUM_GPR_ARG_REGISTERS - intarg_count;
-               intarg_count += 4;
-               break;
-             }
-           else
-             fparg_count++;
-           /* Fall thru */
-#endif
-         case FFI_TYPE_DOUBLE:
-           /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64.  */
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             goto soft_double_cif;
-           fparg_count++;
-           /* If this FP arg is going on the stack, it must be
-              8-byte-aligned.  */
-           if (fparg_count > NUM_FPR_ARG_REGISTERS
-               && intarg_count >= NUM_GPR_ARG_REGISTERS
-               && intarg_count % 2 != 0)
-             intarg_count++;
-           break;
-
-         case FFI_TYPE_UINT64:
-         case FFI_TYPE_SINT64:
-         soft_double_cif:
-           /* 'long long' arguments are passed as two words, but
-              either both words must fit in registers or both go
-              on the stack.  If they go on the stack, they must
-              be 8-byte-aligned.
-
-              Also, only certain register pairs can be used for
-              passing long long int -- specifically (r3,r4), (r5,r6),
-              (r7,r8), (r9,r10).
-           */
-           if (intarg_count == NUM_GPR_ARG_REGISTERS-1
-               || intarg_count % 2 != 0)
-             intarg_count++;
-           intarg_count += 2;
-           break;
-
-         case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         do_struct:
-#endif
-           /* We must allocate space for a copy of these to enforce
-              pass-by-value.  Pad the space up to a multiple of 16
-              bytes (the maximum alignment required for anything under
-              the SYSV ABI).  */
-           struct_copy_size += ((*ptr)->size + 15) & ~0xF;
-           /* Fall through (allocate space for the pointer).  */
-
-         default:
-         soft_float_cif:
-           /* Everything else is passed as a 4-byte word in a GPR, either
-              the object itself or a pointer to it.  */
-           intarg_count++;
-           break;
-         }
-      }
-  else
-    for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-      {
-       switch ((*ptr)->type)
-         {
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         case FFI_TYPE_LONGDOUBLE:
-           if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-             intarg_count += 4;
-           else
-             {
-               fparg_count += 2;
-               intarg_count += 2;
-             }
-           break;
-#endif
-         case FFI_TYPE_FLOAT:
-         case FFI_TYPE_DOUBLE:
-           fparg_count++;
-           intarg_count++;
-           break;
-
-         case FFI_TYPE_STRUCT:
-           intarg_count += ((*ptr)->size + 7) / 8;
-           break;
-
-         default:
-           /* Everything else is passed as a 8-byte word in a GPR, either
-              the object itself or a pointer to it.  */
-           intarg_count++;
-           break;
-         }
-      }
-
-  if (fparg_count != 0)
-    flags |= FLAG_FP_ARGUMENTS;
-  if (intarg_count > 4)
-    flags |= FLAG_4_GPR_ARGUMENTS;
-  if (struct_copy_size != 0)
-    flags |= FLAG_ARG_NEEDS_COPY;
-
-  if (cif->abi != FFI_LINUX64)
-    {
-      /* Space for the FPR registers, if needed.  */
-      if (fparg_count != 0)
-       bytes += NUM_FPR_ARG_REGISTERS * sizeof (double);
-
-      /* Stack space.  */
-      if (intarg_count > NUM_GPR_ARG_REGISTERS)
-       bytes += (intarg_count - NUM_GPR_ARG_REGISTERS) * sizeof (int);
-      if (fparg_count > NUM_FPR_ARG_REGISTERS)
-       bytes += (fparg_count - NUM_FPR_ARG_REGISTERS) * sizeof (double);
-    }
-  else
-    {
-      /* Space for the FPR registers, if needed.  */
-      if (fparg_count != 0)
-       bytes += NUM_FPR_ARG_REGISTERS64 * sizeof (double);
-
-      /* Stack space.  */
-      if (intarg_count > NUM_GPR_ARG_REGISTERS64)
-       bytes += (intarg_count - NUM_GPR_ARG_REGISTERS64) * sizeof (long);
-    }
-
-  /* The stack space allocated needs to be a multiple of 16 bytes.  */
-  bytes = (bytes + 15) & ~0xF;
-
-  /* Add in the space for the copied structures.  */
-  bytes += struct_copy_size;
-
-  cif->flags = flags;
-  cif->bytes = bytes;
-
-  return FFI_OK;
-}
-
-extern void ffi_call_SYSV(extended_cif *, unsigned, unsigned, unsigned *,
-                         void (*fn)(void));
-extern void FFI_HIDDEN ffi_call_LINUX64(extended_cif *, unsigned long,
-                                       unsigned long, unsigned long *,
-                                       void (*fn)(void));
-
-void
-ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  /* If the return value is a struct and we don't have a return        */
-  /* value address then we need to make one                    */
-
-  if ((rvalue == NULL) && (cif->rtype->type == FFI_TYPE_STRUCT))
-    {
-      ecif.rvalue = alloca(cif->rtype->size);
-    }
-  else
-    ecif.rvalue = rvalue;
-
-
-  switch (cif->abi)
-    {
-#ifndef POWERPC64
-    case FFI_SYSV:
-    case FFI_GCC_SYSV:
-    case FFI_LINUX:
-    case FFI_LINUX_SOFT_FLOAT:
-      ffi_call_SYSV (&ecif, -cif->bytes, cif->flags, ecif.rvalue, fn);
-      break;
-#else
-    case FFI_LINUX64:
-      ffi_call_LINUX64 (&ecif, -(long) cif->bytes, cif->flags, ecif.rvalue, fn);
-      break;
-#endif
-    default:
-      FFI_ASSERT (0);
-      break;
-    }
-}
-
-
-#ifndef POWERPC64
-#define MIN_CACHE_LINE_SIZE 8
-
-static void
-flush_icache (char *wraddr, char *xaddr, int size)
-{
-  int i;
-  for (i = 0; i < size; i += MIN_CACHE_LINE_SIZE)
-    __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;"
-                     : : "r" (xaddr + i), "r" (wraddr + i) : "memory");
-  __asm__ volatile ("icbi 0,%0;" "dcbf 0,%1;" "sync;" "isync;"
-                   : : "r"(xaddr + size - 1), "r"(wraddr + size - 1)
-                   : "memory");
-}
-#endif
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure *closure,
-                     ffi_cif *cif,
-                     void (*fun) (ffi_cif *, void *, void **, void *),
-                     void *user_data,
-                     void *codeloc)
-{
-#ifdef POWERPC64
-  void **tramp = (void **) &closure->tramp[0];
-
-  if (cif->abi != FFI_LINUX64)
-    return FFI_BAD_ABI;
-  /* Copy function address and TOC from ffi_closure_LINUX64.  */
-  memcpy (tramp, (char *) ffi_closure_LINUX64, 16);
-  tramp[2] = codeloc;
-#else
-  unsigned int *tramp;
-
-  if (! (cif->abi == FFI_GCC_SYSV 
-        || cif->abi == FFI_SYSV
-        || cif->abi == FFI_LINUX
-        || cif->abi == FFI_LINUX_SOFT_FLOAT))
-    return FFI_BAD_ABI;
-
-  tramp = (unsigned int *) &closure->tramp[0];
-  tramp[0] = 0x7c0802a6;  /*   mflr    r0 */
-  tramp[1] = 0x4800000d;  /*   bl      10 <trampoline_initial+0x10> */
-  tramp[4] = 0x7d6802a6;  /*   mflr    r11 */
-  tramp[5] = 0x7c0803a6;  /*   mtlr    r0 */
-  tramp[6] = 0x800b0000;  /*   lwz     r0,0(r11) */
-  tramp[7] = 0x816b0004;  /*   lwz     r11,4(r11) */
-  tramp[8] = 0x7c0903a6;  /*   mtctr   r0 */
-  tramp[9] = 0x4e800420;  /*   bctr */
-  *(void **) &tramp[2] = (void *) ffi_closure_SYSV; /* function */
-  *(void **) &tramp[3] = codeloc;                   /* context */
-
-  /* Flush the icache.  */
-  flush_icache ((char *)tramp, (char *)codeloc, FFI_TRAMPOLINE_SIZE);
-#endif
-
-  closure->cif = cif;
-  closure->fun = fun;
-  closure->user_data = user_data;
-
-  return FFI_OK;
-}
-
-typedef union
-{
-  float f;
-  double d;
-} ffi_dblfl;
-
-int ffi_closure_helper_SYSV (ffi_closure *, void *, unsigned long *,
-                            ffi_dblfl *, unsigned long *);
-
-/* Basically the trampoline invokes ffi_closure_SYSV, and on
- * entry, r11 holds the address of the closure.
- * After storing the registers that could possibly contain
- * parameters to be passed into the stack frame and setting
- * up space for a return value, ffi_closure_SYSV invokes the
- * following helper function to do most of the work
- */
-
-int
-ffi_closure_helper_SYSV (ffi_closure *closure, void *rvalue,
-                        unsigned long *pgr, ffi_dblfl *pfr,
-                        unsigned long *pst)
-{
-  /* rvalue is the pointer to space for return value in closure assembly */
-  /* pgr is the pointer to where r3-r10 are stored in ffi_closure_SYSV */
-  /* pfr is the pointer to where f1-f8 are stored in ffi_closure_SYSV  */
-  /* pst is the pointer to outgoing parameter stack in original caller */
-
-  void **          avalue;
-  ffi_type **      arg_types;
-  long             i, avn;
-  long             nf;   /* number of floating registers already used */
-  long             ng;   /* number of general registers already used */
-  ffi_cif *        cif;
-  double           temp;
-  unsigned         size;
-
-  cif = closure->cif;
-  avalue = alloca (cif->nargs * sizeof (void *));
-  size = cif->rtype->size;
-
-  nf = 0;
-  ng = 0;
-
-  /* Copy the caller's structure return value address so that the closure
-     returns the data directly to the caller.
-     For FFI_SYSV the result is passed in r3/r4 if the struct size is less
-     or equal 8 bytes.  */
-
-  if ((cif->rtype->type == FFI_TYPE_STRUCT
-       && !((cif->abi == FFI_SYSV) && (size <= 8)))
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-      || (cif->rtype->type == FFI_TYPE_LONGDOUBLE
-         && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-#endif
-      )
-    {
-      rvalue = (void *) *pgr;
-      ng++;
-      pgr++;
-    }
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  /* Grab the addresses of the arguments from the stack frame.  */
-  while (i < avn)
-    {
-      switch (arg_types[i]->type)
-       {
-       case FFI_TYPE_SINT8:
-       case FFI_TYPE_UINT8:
-         /* there are 8 gpr registers used to pass values */
-         if (ng < 8)
-           {
-             avalue[i] = (char *) pgr + 3;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = (char *) pst + 3;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_SINT16:
-       case FFI_TYPE_UINT16:
-         /* there are 8 gpr registers used to pass values */
-         if (ng < 8)
-           {
-             avalue[i] = (char *) pgr + 2;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = (char *) pst + 2;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_UINT32:
-       case FFI_TYPE_POINTER:
-       soft_float_closure:
-         /* there are 8 gpr registers used to pass values */
-         if (ng < 8)
-           {
-             avalue[i] = pgr;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = pst;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_STRUCT:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       do_struct:
-#endif
-         /* Structs are passed by reference. The address will appear in a
-            gpr if it is one of the first 8 arguments.  */
-         if (ng < 8)
-           {
-             avalue[i] = (void *) *pgr;
-             ng++;
-             pgr++;
-           }
-         else
-           {
-             avalue[i] = (void *) *pst;
-             pst++;
-           }
-         break;
-
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_UINT64:
-       soft_double_closure:
-         /* passing long long ints are complex, they must
-          * be passed in suitable register pairs such as
-          * (r3,r4) or (r5,r6) or (r6,r7), or (r7,r8) or (r9,r10)
-          * and if the entire pair aren't available then the outgoing
-          * parameter stack is used for both but an alignment of 8
-          * must will be kept.  So we must either look in pgr
-          * or pst to find the correct address for this type
-          * of parameter.
-          */
-         if (ng < 7)
-           {
-             if (ng & 0x01)
-               {
-                 /* skip r4, r6, r8 as starting points */
-                 ng++;
-                 pgr++;
-               }
-             avalue[i] = pgr;
-             ng += 2;
-             pgr += 2;
-           }
-         else
-           {
-             if (((long) pst) & 4)
-               pst++;
-             avalue[i] = pst;
-             pst += 2;
-             ng = 8;
-           }
-         break;
-
-       case FFI_TYPE_FLOAT:
-         /* With FFI_LINUX_SOFT_FLOAT floats are handled like UINT32.  */
-         if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_float_closure;
-         /* unfortunately float values are stored as doubles
-          * in the ffi_closure_SYSV code (since we don't check
-          * the type in that routine).
-          */
-
-         /* there are 8 64bit floating point registers */
-
-         if (nf < 8)
-           {
-             temp = pfr->d;
-             pfr->f = (float) temp;
-             avalue[i] = pfr;
-             nf++;
-             pfr++;
-           }
-         else
-           {
-             /* FIXME? here we are really changing the values
-              * stored in the original calling routines outgoing
-              * parameter stack.  This is probably a really
-              * naughty thing to do but...
-              */
-             avalue[i] = pst;
-             pst += 1;
-           }
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         /* With FFI_LINUX_SOFT_FLOAT doubles are handled like UINT64.  */
-         if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-           goto soft_double_closure;
-         /* On the outgoing stack all values are aligned to 8 */
-         /* there are 8 64bit floating point registers */
-
-         if (nf < 8)
-           {
-             avalue[i] = pfr;
-             nf++;
-             pfr++;
-           }
-         else
-           {
-             if (((long) pst) & 4)
-               pst++;
-             avalue[i] = pst;
-             pst += 2;
-           }
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         if (cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-           goto do_struct;
-         if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-           { /* Test if for the whole long double, 4 gprs are available.
-                otherwise the stuff ends up on the stack.  */
-             if (ng < 5)
-               {
-                 avalue[i] = pgr;
-                 pgr += 4;
-                 ng += 4;
-               }
-             else
-               {
-                 avalue[i] = pst;
-                 pst += 4;
-                 ng = 8;
-               }
-             break;
-           }
-         if (nf < 7)
-           {
-             avalue[i] = pfr;
-             pfr += 2;
-             nf += 2;
-           }
-         else
-           {
-             if (((long) pst) & 4)
-               pst++;
-             avalue[i] = pst;
-             pst += 4;
-             nf = 8;
-           }
-         break;
-#endif
-
-       default:
-         FFI_ASSERT (0);
-       }
-
-      i++;
-    }
-
-
-  (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell ffi_closure_SYSV how to perform return type promotions.
-     Because the FFI_SYSV ABI returns the structures <= 8 bytes in r3/r4
-     we have to tell ffi_closure_SYSV how to treat them. We combine the base
-     type FFI_SYSV_TYPE_SMALL_STRUCT - 1  with the size of the struct.
-     So a one byte struct gets the return type 16. Return type 1 to 15 are
-     already used and we never have a struct with size zero. That is the reason
-     for the subtraction of 1. See the comment in ffitarget.h about ordering.
-  */
-  if (cif->abi == FFI_SYSV && cif->rtype->type == FFI_TYPE_STRUCT
-      && size <= 8)
-    return (FFI_SYSV_TYPE_SMALL_STRUCT - 1) + size;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-  else if (cif->rtype->type == FFI_TYPE_LONGDOUBLE
-          && cif->abi != FFI_LINUX && cif->abi != FFI_LINUX_SOFT_FLOAT)
-    return FFI_TYPE_STRUCT;
-#endif
-  /* With FFI_LINUX_SOFT_FLOAT floats and doubles are handled like UINT32
-     respectivley UINT64.  */
-  if (cif->abi == FFI_LINUX_SOFT_FLOAT)
-    {
-      switch (cif->rtype->type)
-       {
-       case FFI_TYPE_FLOAT:
-         return FFI_TYPE_UINT32;
-         break;
-       case FFI_TYPE_DOUBLE:
-         return FFI_TYPE_UINT64;
-         break;
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         return FFI_TYPE_UINT128;
-         break;
-#endif
-       default:
-         return cif->rtype->type;
-       }
-    }
-  else
-    {
-      return cif->rtype->type;
-    }
-}
-
-int FFI_HIDDEN ffi_closure_helper_LINUX64 (ffi_closure *, void *,
-                                          unsigned long *, ffi_dblfl *);
-
-int FFI_HIDDEN
-ffi_closure_helper_LINUX64 (ffi_closure *closure, void *rvalue,
-                           unsigned long *pst, ffi_dblfl *pfr)
-{
-  /* rvalue is the pointer to space for return value in closure assembly */
-  /* pst is the pointer to parameter save area
-     (r3-r10 are stored into its first 8 slots by ffi_closure_LINUX64) */
-  /* pfr is the pointer to where f1-f13 are stored in ffi_closure_LINUX64 */
-
-  void **avalue;
-  ffi_type **arg_types;
-  long i, avn;
-  ffi_cif *cif;
-  ffi_dblfl *end_pfr = pfr + NUM_FPR_ARG_REGISTERS64;
-
-  cif = closure->cif;
-  avalue = alloca (cif->nargs * sizeof (void *));
-
-  /* Copy the caller's structure return value address so that the closure
-     returns the data directly to the caller.  */
-  if (cif->rtype->type == FFI_TYPE_STRUCT)
-    {
-      rvalue = (void *) *pst;
-      pst++;
-    }
-
-  i = 0;
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  /* Grab the addresses of the arguments from the stack frame.  */
-  while (i < avn)
-    {
-      switch (arg_types[i]->type)
-       {
-       case FFI_TYPE_SINT8:
-       case FFI_TYPE_UINT8:
-         avalue[i] = (char *) pst + 7;
-         pst++;
-         break;
-
-       case FFI_TYPE_SINT16:
-       case FFI_TYPE_UINT16:
-         avalue[i] = (char *) pst + 6;
-         pst++;
-         break;
-
-       case FFI_TYPE_SINT32:
-       case FFI_TYPE_UINT32:
-         avalue[i] = (char *) pst + 4;
-         pst++;
-         break;
-
-       case FFI_TYPE_SINT64:
-       case FFI_TYPE_UINT64:
-       case FFI_TYPE_POINTER:
-         avalue[i] = pst;
-         pst++;
-         break;
-
-       case FFI_TYPE_STRUCT:
-         /* Structures with size less than eight bytes are passed
-            left-padded.  */
-         if (arg_types[i]->size < 8)
-           avalue[i] = (char *) pst + 8 - arg_types[i]->size;
-         else
-           avalue[i] = pst;
-         pst += (arg_types[i]->size + 7) / 8;
-         break;
-
-       case FFI_TYPE_FLOAT:
-         /* unfortunately float values are stored as doubles
-          * in the ffi_closure_LINUX64 code (since we don't check
-          * the type in that routine).
-          */
-
-         /* there are 13 64bit floating point registers */
-
-         if (pfr < end_pfr)
-           {
-             double temp = pfr->d;
-             pfr->f = (float) temp;
-             avalue[i] = pfr;
-             pfr++;
-           }
-         else
-           avalue[i] = pst;
-         pst++;
-         break;
-
-       case FFI_TYPE_DOUBLE:
-         /* On the outgoing stack all values are aligned to 8 */
-         /* there are 13 64bit floating point registers */
-
-         if (pfr < end_pfr)
-           {
-             avalue[i] = pfr;
-             pfr++;
-           }
-         else
-           avalue[i] = pst;
-         pst++;
-         break;
-
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-         if (pfr + 1 < end_pfr)
-           {
-             avalue[i] = pfr;
-             pfr += 2;
-           }
-         else
-           {
-             if (pfr < end_pfr)
-               {
-                 /* Passed partly in f13 and partly on the stack.
-                    Move it all to the stack.  */
-                 *pst = *(unsigned long *) pfr;
-                 pfr++;
-               }
-             avalue[i] = pst;
-           }
-         pst += 2;
-         break;
-#endif
-
-       default:
-         FFI_ASSERT (0);
-       }
-
-      i++;
-    }
-
-
-  (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell ffi_closure_LINUX64 how to perform return type promotions.  */
-  return cif->rtype->type;
-}
diff --git a/.pc/powerpc-sysv-without-string-ops/src/powerpc/sysv.S b/.pc/powerpc-sysv-without-string-ops/src/powerpc/sysv.S
deleted file mode 100644 (file)
index 96ea22b..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-/* -----------------------------------------------------------------------
-   sysv.S - Copyright (c) 1998 Geoffrey Keating
-   Copyright (C) 2007 Free Software Foundation, Inc
-
-   PowerPC Assembly glue.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#define LIBFFI_ASM
-#include <fficonfig.h>
-#include <ffi.h>
-#include <powerpc/asm.h>
-
-#ifndef __powerpc64__
-       .globl ffi_prep_args_SYSV
-ENTRY(ffi_call_SYSV)
-.LFB1:
-       /* Save the old stack pointer as AP.  */
-       mr      %r8,%r1
-
-.LCFI0:
-       /* Allocate the stack space we need.  */
-       stwux   %r1,%r1,%r4
-       /* Save registers we use.  */
-       mflr    %r9
-       stw     %r28,-16(%r8)
-.LCFI1:
-       stw     %r29,-12(%r8)
-.LCFI2:
-       stw     %r30, -8(%r8)
-.LCFI3:
-       stw     %r31, -4(%r8)
-.LCFI4:
-       stw     %r9,   4(%r8)
-.LCFI5:
-
-       /* Save arguments over call...  */
-       mr      %r31,%r5        /* flags, */
-       mr      %r30,%r6        /* rvalue, */
-       mr      %r29,%r7        /* function address, */
-       mr      %r28,%r8        /* our AP. */
-.LCFI6:
-
-       /* Call ffi_prep_args_SYSV.  */
-       mr      %r4,%r1
-       bl      ffi_prep_args_SYSV@local
-
-       /* Now do the call.  */
-       /* Set up cr1 with bits 4-7 of the flags.  */
-       mtcrf   0x40,%r31
-       /* Get the address to call into CTR.  */
-       mtctr   %r29
-       /* Load all those argument registers.  */
-       lwz     %r3,-16-(8*4)(%r28)
-       lwz     %r4,-16-(7*4)(%r28)
-       lwz     %r5,-16-(6*4)(%r28)
-       lwz     %r6,-16-(5*4)(%r28)
-       bf-     5,1f
-       nop
-       lwz     %r7,-16-(4*4)(%r28)
-       lwz     %r8,-16-(3*4)(%r28)
-       lwz     %r9,-16-(2*4)(%r28)
-       lwz     %r10,-16-(1*4)(%r28)
-       nop
-1:
-
-       /* Load all the FP registers.  */
-       bf-     6,2f
-       lfd     %f1,-16-(8*4)-(8*8)(%r28)
-       lfd     %f2,-16-(8*4)-(7*8)(%r28)
-       lfd     %f3,-16-(8*4)-(6*8)(%r28)
-       lfd     %f4,-16-(8*4)-(5*8)(%r28)
-       nop
-       lfd     %f5,-16-(8*4)-(4*8)(%r28)
-       lfd     %f6,-16-(8*4)-(3*8)(%r28)
-       lfd     %f7,-16-(8*4)-(2*8)(%r28)
-       lfd     %f8,-16-(8*4)-(1*8)(%r28)
-2:
-
-       /* Make the call.  */
-       bctrl
-
-       /* Now, deal with the return value.  */
-       mtcrf   0x01,%r31 /* cr7  */
-       bt-     31,L(small_struct_return_value)
-       bt-     30,L(done_return_value)
-       bt-     29,L(fp_return_value)
-       stw     %r3,0(%r30)
-       bf+     28,L(done_return_value)
-       stw     %r4,4(%r30)
-       mtcrf   0x02,%r31 /* cr6  */
-       bf      27,L(done_return_value)
-       stw     %r5,8(%r30)
-       stw     %r6,12(%r30)
-       /* Fall through...  */
-
-L(done_return_value):
-       /* Restore the registers we used and return.  */
-       lwz     %r9,   4(%r28)
-       lwz     %r31, -4(%r28)
-       mtlr    %r9
-       lwz     %r30, -8(%r28)
-       lwz     %r29,-12(%r28)
-       lwz     %r28,-16(%r28)
-       lwz     %r1,0(%r1)
-       blr
-
-L(fp_return_value):
-       bf      28,L(float_return_value)
-       stfd    %f1,0(%r30)
-       mtcrf   0x02,%r31 /* cr6  */
-       bf      27,L(done_return_value)
-       stfd    %f2,8(%r30)
-       b       L(done_return_value)
-L(float_return_value):
-       stfs    %f1,0(%r30)
-       b       L(done_return_value)
-
-L(small_struct_return_value):
-       extrwi  %r6,%r31,2,19         /* number of bytes padding = shift/8 */
-       mtcrf   0x02,%r31             /* copy flags to cr[24:27] (cr6) */
-       extrwi  %r5,%r31,5,19         /* r5 <- number of bits of padding */
-       subfic  %r6,%r6,4             /* r6 <- number of useful bytes in r3 */
-       bf-     25,L(done_return_value) /* struct in r3 ? if not, done. */
-/* smst_one_register: */
-       slw     %r3,%r3,%r5           /* Left-justify value in r3 */
-       mtxer   %r6                   /* move byte count to XER ... */
-       stswx   %r3,0,%r30            /* ... and store that many bytes */
-       bf+     26,L(done_return_value)  /* struct in r3:r4 ? */
-       add     %r6,%r6,%r30          /* adjust pointer */
-       stswi   %r4,%r6,4             /* store last four bytes */
-       b       L(done_return_value)
-
-.LFE1:
-END(ffi_call_SYSV)
-
-      .section ".eh_frame",EH_FRAME_FLAGS,@progbits
-.Lframe1:
-      .4byte    .LECIE1-.LSCIE1  /*  Length of Common Information Entry */
-.LSCIE1:
-      .4byte    0x0      /*  CIE Identifier Tag */
-      .byte     0x1      /*  CIE Version */
-#if defined _RELOCATABLE || defined __PIC__
-      .ascii   "zR\0"   /*  CIE Augmentation */
-#else
-      .ascii   "\0"     /*  CIE Augmentation */
-#endif
-      .uleb128  0x1      /*  CIE Code Alignment Factor */
-      .sleb128  -4      /*  CIE Data Alignment Factor */
-      .byte     0x41     /*  CIE RA Column */
-#if defined _RELOCATABLE || defined __PIC__
-      .uleb128  0x1      /*  Augmentation size */
-      .byte    0x1b     /*  FDE Encoding (pcrel sdata4) */
-#endif
-      .byte     0xc      /*  DW_CFA_def_cfa */
-      .uleb128  0x1
-      .uleb128  0x0
-      .align 2
-.LECIE1:
-.LSFDE1:
-      .4byte    .LEFDE1-.LASFDE1         /*  FDE Length */
-.LASFDE1:
-      .4byte    .LASFDE1-.Lframe1         /*  FDE CIE offset */
-#if defined _RELOCATABLE || defined __PIC__
-      .4byte    .LFB1-.  /*  FDE initial location */
-#else
-      .4byte    .LFB1    /*  FDE initial location */
-#endif
-      .4byte    .LFE1-.LFB1      /*  FDE address range */
-#if defined _RELOCATABLE || defined __PIC__
-      .uleb128  0x0     /*  Augmentation size */
-#endif
-      .byte     0x4      /*  DW_CFA_advance_loc4 */
-      .4byte    .LCFI0-.LFB1
-      .byte     0xd      /*  DW_CFA_def_cfa_register */
-      .uleb128  0x08
-      .byte     0x4      /*  DW_CFA_advance_loc4 */
-      .4byte    .LCFI5-.LCFI0
-      .byte     0x11     /*  DW_CFA_offset_extended_sf */
-      .uleb128  0x41
-      .sleb128  -1
-      .byte     0x9f     /*  DW_CFA_offset, column 0x1f */
-      .uleb128  0x1
-      .byte     0x9e     /*  DW_CFA_offset, column 0x1e */
-      .uleb128  0x2
-      .byte     0x9d     /*  DW_CFA_offset, column 0x1d */
-      .uleb128  0x3
-      .byte     0x9c     /*  DW_CFA_offset, column 0x1c */
-      .uleb128  0x4
-      .byte     0x4      /*  DW_CFA_advance_loc4 */
-      .4byte    .LCFI6-.LCFI5
-      .byte     0xd      /*  DW_CFA_def_cfa_register */
-      .uleb128  0x1c
-      .align 2
-.LEFDE1:
-#endif
-
-#if defined __ELF__ && defined __linux__
-       .section        .note.GNU-stack,"",@progbits
-#endif
diff --git a/.pc/ppc64-darwin/.timestamp b/.pc/ppc64-darwin/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/ppc64-darwin/ChangeLog b/.pc/ppc64-darwin/ChangeLog
deleted file mode 100644 (file)
index dee8a54..0000000
+++ /dev/null
@@ -1,4624 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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@macports.org>
-
-       * 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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/ppc64-darwin/configure b/.pc/ppc64-darwin/configure
deleted file mode 100755 (executable)
index 984d8d6..0000000
+++ /dev/null
@@ -1,16030 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/libffi]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer
-  --enable-debug          debugging mode
-  --disable-structs       omit code for struct support
-  --disable-raw-api       make the raw api unavailable
-  --enable-purify-safety  purify-safe mode
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CCAS        assembler compiler command (defaults to CC)
-  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if test "$cross_compiling" = yes; then
-    # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid; break
-else
-  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
-                       if test $ac_lo -le $ac_mid; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=$ac_mid; break
-else
-  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid
-else
-  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (($2) < 0)
-    {
-      long int i = longval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
-  ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
-  fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CCAS_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CCAS_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
-  am__fastdepCCAS_TRUE=
-  am__fastdepCCAS_FALSE='#'
-else
-  am__fastdepCCAS_TRUE='#'
-  am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
-   if test "$GCC" = yes; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
-           ;;
-         ppc64-*linux*|powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         ppc*-*linux*|powerpc*-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
-        enable_dlopen=no
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl='-Wl,-Wl,,'
-       lt_prog_compiler_pic='-PIC'
-       lt_prog_compiler_static='-Bstatic'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ F* | *Sun*Fortran*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec=
-         hardcode_libdir_flag_spec_ld='-rpath $libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       always_export_symbols=yes
-       file_list_spec='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-       enable_shared_with_static_runtimes=yes
-       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds='chmod 644 $oldlib'
-       postlink_cmds='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_flag_spec_ld='+b $libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-       fi
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec="$LIB"
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
-else
-  libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
-else
-  ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
-       ac_cv_func_mmap_anon=no ;;
-     *)
-       ac_cv_func_mmap_anon=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
-   fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
-  TESTSUBDIR_TRUE=
-  TESTSUBDIR_FALSE='#'
-else
-  TESTSUBDIR_TRUE='#'
-  TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[0-9]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
- powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[34]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
-  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
-  MIPS_TRUE=
-  MIPS_FALSE='#'
-else
-  MIPS_TRUE='#'
-  MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
-  SPARC_TRUE=
-  SPARC_FALSE='#'
-else
-  SPARC_TRUE='#'
-  SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
-  X86_TRUE=
-  X86_FALSE='#'
-else
-  X86_TRUE='#'
-  X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
-  X86_FREEBSD_TRUE=
-  X86_FREEBSD_FALSE='#'
-else
-  X86_FREEBSD_TRUE='#'
-  X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
-  X86_WIN32_TRUE=
-  X86_WIN32_FALSE='#'
-else
-  X86_WIN32_TRUE='#'
-  X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
-  X86_WIN64_TRUE=
-  X86_WIN64_FALSE='#'
-else
-  X86_WIN64_TRUE='#'
-  X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
-  X86_DARWIN_TRUE=
-  X86_DARWIN_FALSE='#'
-else
-  X86_DARWIN_TRUE='#'
-  X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
-  ALPHA_TRUE=
-  ALPHA_FALSE='#'
-else
-  ALPHA_TRUE='#'
-  ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
-  IA64_TRUE=
-  IA64_FALSE='#'
-else
-  IA64_TRUE='#'
-  IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
-  M32R_TRUE=
-  M32R_FALSE='#'
-else
-  M32R_TRUE='#'
-  M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
-  M68K_TRUE=
-  M68K_FALSE='#'
-else
-  M68K_TRUE='#'
-  M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
-  MOXIE_TRUE=
-  MOXIE_FALSE='#'
-else
-  MOXIE_TRUE='#'
-  MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
-  POWERPC_TRUE=
-  POWERPC_FALSE='#'
-else
-  POWERPC_TRUE='#'
-  POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
-  POWERPC_AIX_TRUE=
-  POWERPC_AIX_FALSE='#'
-else
-  POWERPC_AIX_TRUE='#'
-  POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
-  POWERPC_DARWIN_TRUE=
-  POWERPC_DARWIN_FALSE='#'
-else
-  POWERPC_DARWIN_TRUE='#'
-  POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
-  POWERPC_FREEBSD_TRUE=
-  POWERPC_FREEBSD_FALSE='#'
-else
-  POWERPC_FREEBSD_TRUE='#'
-  POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
-  ARM_TRUE=
-  ARM_FALSE='#'
-else
-  ARM_TRUE='#'
-  ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
-  AVR32_TRUE=
-  AVR32_FALSE='#'
-else
-  AVR32_TRUE='#'
-  AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
-  LIBFFI_CRIS_TRUE=
-  LIBFFI_CRIS_FALSE='#'
-else
-  LIBFFI_CRIS_TRUE='#'
-  LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
-  FRV_TRUE=
-  FRV_FALSE='#'
-else
-  FRV_TRUE='#'
-  FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
-  S390_TRUE=
-  S390_FALSE='#'
-else
-  S390_TRUE='#'
-  S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
-  X86_64_TRUE=
-  X86_64_FALSE='#'
-else
-  X86_64_TRUE='#'
-  X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
-  SH_TRUE=
-  SH_FALSE='#'
-else
-  SH_TRUE='#'
-  SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
-  SH64_TRUE=
-  SH64_FALSE='#'
-else
-  SH64_TRUE='#'
-  SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
-  PA_LINUX_TRUE=
-  PA_LINUX_FALSE='#'
-else
-  PA_LINUX_TRUE='#'
-  PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
-  PA_HPUX_TRUE=
-  PA_HPUX_FALSE='#'
-else
-  PA_HPUX_TRUE='#'
-  PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
-  PA64_HPUX_TRUE=
-  PA64_HPUX_FALSE='#'
-else
-  PA64_HPUX_TRUE='#'
-  PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
-  ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
-                                   if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
-    break
-fi
-
-  done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_long_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
-    fi
-  fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    gcc_cv_as_cfi_pseudo_op=unknown
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gcc_cv_as_cfi_pseudo_op=yes
-else
-  gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  libffi_cv_as_sparc_ua_pcrel=yes
-else
-  libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_register_pseudo_op=yes
-else
-  libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_ascii_pseudo_op=yes
-else
-  libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_string_pseudo_op=yes
-else
-  libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sys_symbol_underscore=no
-  cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    ac_nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$ac_nlist"; then
-      # See whether the symbols have a leading underscore.
-      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
-        lt_cv_sys_symbol_underscore=yes
-      else
-        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
-         :
-        else
-         echo "configure: cannot find nm_test_func in $ac_nlist" >&5
-        fi
-      fi
-    else
-      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "configure: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
-  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
-    if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
-    fi
-fi
-
-case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
-     ;;
-esac
-
-if test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-  else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-  fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-  fi
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
-  enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
-  fi
-fi
-
- if test "$enable_debug" = "yes"; then
-  FFI_DEBUG_TRUE=
-  FFI_DEBUG_FALSE='#'
-else
-  FFI_DEBUG_TRUE='#'
-  FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
-  enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
-  enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
-  enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
-  fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
-  as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
-  as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
-  as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
-  as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
-  as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
-  as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
-  as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
-  as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
-  as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
-  as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
-  as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
-  as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
-  as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
-  as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
-  as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
-  as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
-  as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
-    "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
-    "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
-    "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
-    "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
-    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
-    "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS  :L $CONFIG_LINKS  :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-  :L)
-  #
-  # CONFIG_LINK
-  #
-
-  if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
-    :
-  else
-    # Prefer the file from the source tree if names are identical.
-    if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
-      ac_source=$srcdir/$ac_source
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
-    if test ! -r "$ac_source"; then
-      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
-    fi
-    rm -f "$ac_file"
-
-    # Try a relative symlink, then a hard link, then a copy.
-    case $ac_source in
-    [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
-       *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
-    esac
-    ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
-      ln "$ac_source" "$ac_file" 2>/dev/null ||
-      cp -p "$ac_source" "$ac_file" ||
-      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
-  fi
- ;;
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-    "include":C) test -d include || mkdir include ;;
-    "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/ppc64-darwin/configure.ac b/.pc/ppc64-darwin/configure.ac
deleted file mode 100644 (file)
index 448aacb..0000000
+++ /dev/null
@@ -1,491 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
- powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    LT_SYS_SYMBOL_USCORE
-    if test "x$sys_symbol_underscore" = xyes; then
-        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-    fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
-     *arm*-apple-darwin*)
-       FFI_EXEC_TRAMPOLINE_TABLE=1
-       AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
-                 [Cannot use PROT_EXEC on this target, so, we revert to
-                   alternative means])
-     ;;
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-      libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-      AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-      AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  else
-      AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  fi
-
-  AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-      libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-      AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-  fi
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/remove-debug-code/.timestamp b/.pc/remove-debug-code/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/remove-debug-code/ChangeLog b/.pc/remove-debug-code/ChangeLog
deleted file mode 100644 (file)
index 588d0bb..0000000
+++ /dev/null
@@ -1,4702 +0,0 @@
-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  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  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-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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * 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.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/remove-debug-code/Makefile.am b/.pc/remove-debug-code/Makefile.am
deleted file mode 100644 (file)
index 36db3f2..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-## Process this with automake to create Makefile.in
-
-AUTOMAKE_OPTIONS = foreign subdir-objects
-
-SUBDIRS = include testsuite man
-
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
-       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
-       src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
-       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
-       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
-       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
-       src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
-       src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
-       src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
-       src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
-       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
-       src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
-       src/powerpc/darwin.S src/powerpc/aix_closure.S \
-       src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
-       src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
-       src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
-       src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
-       src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
-       src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
-       src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
-       src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
-       src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
-       src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
-       src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
-       src/moxie/ffi.c src/moxie/eabi.S libtool-version \
-       ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
-       m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 build-ios.sh \
-       m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh src/debug.c \
-       msvcc.sh
-
-
-info_TEXINFOS = doc/libffi.texi
-
-## ################################################################
-
-##
-## This section is for make and multilib madness.
-##
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
-       "AR_FLAGS=$(AR_FLAGS)" \
-       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
-       "CFLAGS=$(CFLAGS)" \
-       "CXXFLAGS=$(CXXFLAGS)" \
-       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
-       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
-       "INSTALL=$(INSTALL)" \
-       "INSTALL_DATA=$(INSTALL_DATA)" \
-       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
-       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
-       "JC1FLAGS=$(JC1FLAGS)" \
-       "LDFLAGS=$(LDFLAGS)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
-       "MAKE=$(MAKE)" \
-       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
-       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-       "SHELL=$(SHELL)" \
-       "exec_prefix=$(exec_prefix)" \
-       "infodir=$(infodir)" \
-       "libdir=$(libdir)" \
-       "mandir=$(mandir)" \
-       "prefix=$(prefix)" \
-       "AR=$(AR)" \
-       "AS=$(AS)" \
-       "CC=$(CC)" \
-       "CXX=$(CXX)" \
-       "LD=$(LD)" \
-       "NM=$(NM)" \
-       "RANLIB=$(RANLIB)" \
-       "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES=
-
-ACLOCAL_AMFLAGS=$(ACLOCAL_AMFLAGS) -I m4
-
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
-               src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-
-nodist_libffi_la_SOURCES =
-
-if MIPS
-nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-endif
-if X86
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S
-endif
-if X86_FREEBSD
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/freebsd.S
-endif
-if X86_WIN32
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win32.S
-endif
-if X86_WIN64
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win64.S
-endif
-if X86_DARWIN
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-endif
-if SPARC
-nodist_libffi_la_SOURCES += src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-endif
-if ALPHA
-nodist_libffi_la_SOURCES += src/alpha/ffi.c src/alpha/osf.S
-endif
-if IA64
-nodist_libffi_la_SOURCES += src/ia64/ffi.c src/ia64/unix.S
-endif
-if M32R
-nodist_libffi_la_SOURCES += src/m32r/sysv.S src/m32r/ffi.c
-endif
-if M68K
-nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
-endif
-if POWERPC
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-endif
-if POWERPC_AIX
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-endif
-if POWERPC_DARWIN
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-endif
-if POWERPC_FREEBSD
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-endif
-if ARM
-nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
-if FFI_EXEC_TRAMPOLINE_TABLE
-nodist_libffi_la_SOURCES += src/arm/trampoline.S
-endif
-endif
-if AVR32
-nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
-endif
-if LIBFFI_CRIS
-nodist_libffi_la_SOURCES += src/cris/sysv.S src/cris/ffi.c
-endif
-if FRV
-nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
-endif
-if MOXIE
-nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
-endif
-if S390
-nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
-endif
-if X86_64
-nodist_libffi_la_SOURCES += src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-endif
-if SH
-nodist_libffi_la_SOURCES += src/sh/sysv.S src/sh/ffi.c
-endif
-if SH64
-nodist_libffi_la_SOURCES += src/sh64/sysv.S src/sh64/ffi.c
-endif
-if PA_LINUX
-nodist_libffi_la_SOURCES += src/pa/linux.S src/pa/ffi.c
-endif
-if PA_HPUX
-nodist_libffi_la_SOURCES += src/pa/hpux32.S src/pa/ffi.c
-endif
-
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-
-AM_CFLAGS = -g
-if FFI_DEBUG
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-AM_CFLAGS += -DFFI_DEBUG
-endif
-
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
diff --git a/.pc/remove-debug-code/Makefile.in b/.pc/remove-debug-code/Makefile.in
deleted file mode 100644 (file)
index 13c17d0..0000000
+++ /dev/null
@@ -1,1833 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-@MIPS_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-@X86_TRUE@am__append_2 = src/x86/ffi.c src/x86/sysv.S
-@X86_FREEBSD_TRUE@am__append_3 = src/x86/ffi.c src/x86/freebsd.S
-@X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
-@X86_WIN64_TRUE@am__append_5 = src/x86/ffi.c src/x86/win64.S
-@X86_DARWIN_TRUE@am__append_6 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-@SPARC_TRUE@am__append_7 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-@ALPHA_TRUE@am__append_8 = src/alpha/ffi.c src/alpha/osf.S
-@IA64_TRUE@am__append_9 = src/ia64/ffi.c src/ia64/unix.S
-@M32R_TRUE@am__append_10 = src/m32r/sysv.S src/m32r/ffi.c
-@M68K_TRUE@am__append_11 = src/m68k/ffi.c src/m68k/sysv.S
-@POWERPC_TRUE@am__append_12 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-@POWERPC_AIX_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-@POWERPC_DARWIN_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-@POWERPC_FREEBSD_TRUE@am__append_15 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-@ARM_TRUE@am__append_16 = src/arm/sysv.S src/arm/ffi.c
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_17 = src/arm/trampoline.S
-@AVR32_TRUE@am__append_18 = src/avr32/sysv.S src/avr32/ffi.c
-@LIBFFI_CRIS_TRUE@am__append_19 = src/cris/sysv.S src/cris/ffi.c
-@FRV_TRUE@am__append_20 = src/frv/eabi.S src/frv/ffi.c
-@MOXIE_TRUE@am__append_21 = src/moxie/eabi.S src/moxie/ffi.c
-@S390_TRUE@am__append_22 = src/s390/sysv.S src/s390/ffi.c
-@X86_64_TRUE@am__append_23 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-@SH_TRUE@am__append_24 = src/sh/sysv.S src/sh/ffi.c
-@SH64_TRUE@am__append_25 = src/sh64/sysv.S src/sh64/ffi.c
-@PA_LINUX_TRUE@am__append_26 = src/pa/linux.S src/pa/ffi.c
-@PA_HPUX_TRUE@am__append_27 = src/pa/hpux32.S src/pa/ffi.c
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-@FFI_DEBUG_TRUE@am__append_28 = -DFFI_DEBUG
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
-       $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
-       $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
-       compile config.guess config.sub depcomp install-sh ltmain.sh \
-       mdate-sh missing texinfo.tex
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
-       $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = fficonfig.h
-CONFIG_CLEAN_FILES = libffi.pc
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" \
-       "$(DESTDIR)$(pkgconfigdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-libffi_la_LIBADD =
-am__dirstamp = $(am__leading_dot)dirstamp
-am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
-       src/raw_api.lo src/java_raw_api.lo src/closures.lo
-@MIPS_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
-@MIPS_TRUE@    src/mips/n32.lo
-@X86_TRUE@am__objects_2 = src/x86/ffi.lo src/x86/sysv.lo
-@X86_FREEBSD_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/freebsd.lo
-@X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
-@X86_WIN64_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win64.lo
-@X86_DARWIN_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/darwin.lo \
-@X86_DARWIN_TRUE@      src/x86/ffi64.lo src/x86/darwin64.lo
-@SPARC_TRUE@am__objects_7 = src/sparc/ffi.lo src/sparc/v8.lo \
-@SPARC_TRUE@   src/sparc/v9.lo
-@ALPHA_TRUE@am__objects_8 = src/alpha/ffi.lo src/alpha/osf.lo
-@IA64_TRUE@am__objects_9 = src/ia64/ffi.lo src/ia64/unix.lo
-@M32R_TRUE@am__objects_10 = src/m32r/sysv.lo src/m32r/ffi.lo
-@M68K_TRUE@am__objects_11 = src/m68k/ffi.lo src/m68k/sysv.lo
-@POWERPC_TRUE@am__objects_12 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
-@POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
-@POWERPC_TRUE@ src/powerpc/linux64.lo \
-@POWERPC_TRUE@ src/powerpc/linux64_closure.lo
-@POWERPC_AIX_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
-@POWERPC_AIX_TRUE@     src/powerpc/aix.lo \
-@POWERPC_AIX_TRUE@     src/powerpc/aix_closure.lo
-@POWERPC_DARWIN_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
-@POWERPC_DARWIN_TRUE@  src/powerpc/darwin.lo \
-@POWERPC_DARWIN_TRUE@  src/powerpc/darwin_closure.lo
-@POWERPC_FREEBSD_TRUE@am__objects_15 = src/powerpc/ffi.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
-@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_17 = src/arm/trampoline.lo
-@AVR32_TRUE@am__objects_18 = src/avr32/sysv.lo src/avr32/ffi.lo
-@LIBFFI_CRIS_TRUE@am__objects_19 = src/cris/sysv.lo src/cris/ffi.lo
-@FRV_TRUE@am__objects_20 = src/frv/eabi.lo src/frv/ffi.lo
-@MOXIE_TRUE@am__objects_21 = src/moxie/eabi.lo src/moxie/ffi.lo
-@S390_TRUE@am__objects_22 = src/s390/sysv.lo src/s390/ffi.lo
-@X86_64_TRUE@am__objects_23 = src/x86/ffi64.lo src/x86/unix64.lo \
-@X86_64_TRUE@  src/x86/ffi.lo src/x86/sysv.lo
-@SH_TRUE@am__objects_24 = src/sh/sysv.lo src/sh/ffi.lo
-@SH64_TRUE@am__objects_25 = src/sh64/sysv.lo src/sh64/ffi.lo
-@PA_LINUX_TRUE@am__objects_26 = src/pa/linux.lo src/pa/ffi.lo
-@PA_HPUX_TRUE@am__objects_27 = src/pa/hpux32.lo src/pa/ffi.lo
-nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
-       $(am__objects_3) $(am__objects_4) $(am__objects_5) \
-       $(am__objects_6) $(am__objects_7) $(am__objects_8) \
-       $(am__objects_9) $(am__objects_10) $(am__objects_11) \
-       $(am__objects_12) $(am__objects_13) $(am__objects_14) \
-       $(am__objects_15) $(am__objects_16) $(am__objects_17) \
-       $(am__objects_18) $(am__objects_19) $(am__objects_20) \
-       $(am__objects_21) $(am__objects_22) $(am__objects_23) \
-       $(am__objects_24) $(am__objects_25) $(am__objects_26) \
-       $(am__objects_27)
-libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
-       $(nodist_libffi_la_OBJECTS)
-libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
-libffi_convenience_la_LIBADD =
-am__objects_28 = src/debug.lo src/prep_cif.lo src/types.lo \
-       src/raw_api.lo src/java_raw_api.lo src/closures.lo
-am_libffi_convenience_la_OBJECTS = $(am__objects_28)
-am__objects_29 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
-       $(am__objects_4) $(am__objects_5) $(am__objects_6) \
-       $(am__objects_7) $(am__objects_8) $(am__objects_9) \
-       $(am__objects_10) $(am__objects_11) $(am__objects_12) \
-       $(am__objects_13) $(am__objects_14) $(am__objects_15) \
-       $(am__objects_16) $(am__objects_17) $(am__objects_18) \
-       $(am__objects_19) $(am__objects_20) $(am__objects_21) \
-       $(am__objects_22) $(am__objects_23) $(am__objects_24) \
-       $(am__objects_25) $(am__objects_26) $(am__objects_27)
-nodist_libffi_convenience_la_OBJECTS = $(am__objects_29)
-libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
-       $(nodist_libffi_convenience_la_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
-       $(libffi_convenience_la_SOURCES) \
-       $(nodist_libffi_convenience_la_SOURCES)
-DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
-INFO_DEPS = $(srcdir)/doc/libffi.info
-am__TEXINFO_TEX_DIR = $(srcdir)
-DVIS = doc/libffi.dvi
-PDFS = doc/libffi.pdf
-PSS = doc/libffi.ps
-HTMLS = doc/libffi.html
-TEXINFOS = doc/libffi.texi
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-DVIPS = dvips
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-DATA = $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_LTLDFLAGS = @AM_LTLDFLAGS@
-AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASDEPMODE = @CCASDEPMODE@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TARGET = @TARGET@
-TARGETDIR = @TARGETDIR@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign subdir-objects
-SUBDIRS = include testsuite man
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
-       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
-       src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
-       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
-       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
-       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
-       src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
-       src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
-       src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
-       src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
-       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
-       src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
-       src/powerpc/darwin.S src/powerpc/aix_closure.S \
-       src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
-       src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
-       src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
-       src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
-       src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
-       src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
-       src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
-       src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
-       src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
-       src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
-       src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
-       src/moxie/ffi.c src/moxie/eabi.S libtool-version \
-       ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
-       m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 build-ios.sh \
-       m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh src/debug.c \
-       msvcc.sh
-
-info_TEXINFOS = doc/libffi.texi
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
-       "AR_FLAGS=$(AR_FLAGS)" \
-       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
-       "CFLAGS=$(CFLAGS)" \
-       "CXXFLAGS=$(CXXFLAGS)" \
-       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
-       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
-       "INSTALL=$(INSTALL)" \
-       "INSTALL_DATA=$(INSTALL_DATA)" \
-       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
-       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
-       "JC1FLAGS=$(JC1FLAGS)" \
-       "LDFLAGS=$(LDFLAGS)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
-       "MAKE=$(MAKE)" \
-       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
-       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-       "SHELL=$(SHELL)" \
-       "exec_prefix=$(exec_prefix)" \
-       "infodir=$(infodir)" \
-       "libdir=$(libdir)" \
-       "mandir=$(mandir)" \
-       "prefix=$(prefix)" \
-       "AR=$(AR)" \
-       "AS=$(AS)" \
-       "CC=$(CC)" \
-       "CXX=$(CXX)" \
-       "LD=$(LD)" \
-       "NM=$(NM)" \
-       "RANLIB=$(RANLIB)" \
-       "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES = 
-ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
-               src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
-       $(am__append_3) $(am__append_4) $(am__append_5) \
-       $(am__append_6) $(am__append_7) $(am__append_8) \
-       $(am__append_9) $(am__append_10) $(am__append_11) \
-       $(am__append_12) $(am__append_13) $(am__append_14) \
-       $(am__append_15) $(am__append_16) $(am__append_17) \
-       $(am__append_18) $(am__append_19) $(am__append_20) \
-       $(am__append_21) $(am__append_22) $(am__append_23) \
-       $(am__append_24) $(am__append_25) $(am__append_26) \
-       $(am__append_27)
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-AM_CFLAGS = -g $(am__append_28)
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-all: fficonfig.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .S .c .dvi .lo .o .obj .ps
-am--refresh:
-       @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
-             $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           echo ' $(SHELL) ./config.status'; \
-           $(SHELL) ./config.status;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-       $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-       $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-fficonfig.h: stamp-h1
-       @if test ! -f $@; then \
-         rm -f stamp-h1; \
-         $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-       else :; fi
-
-stamp-h1: $(srcdir)/fficonfig.h.in $(top_builddir)/config.status
-       @rm -f stamp-h1
-       cd $(top_builddir) && $(SHELL) ./config.status fficonfig.h
-$(srcdir)/fficonfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
-       ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-       rm -f stamp-h1
-       touch $@
-
-distclean-hdr:
-       -rm -f fficonfig.h stamp-h1
-libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-       @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-       list2=; for p in $$list; do \
-         if test -f $$p; then \
-           list2="$$list2 $$p"; \
-         else :; fi; \
-       done; \
-       test -z "$$list2" || { \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
-       }
-
-uninstall-libLTLIBRARIES:
-       @$(NORMAL_UNINSTALL)
-       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
-       done
-
-clean-libLTLIBRARIES:
-       -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-
-clean-noinstLTLIBRARIES:
-       -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-src/$(am__dirstamp):
-       @$(MKDIR_P) src
-       @: > src/$(am__dirstamp)
-src/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/$(DEPDIR)
-       @: > src/$(DEPDIR)/$(am__dirstamp)
-src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/mips/$(am__dirstamp):
-       @$(MKDIR_P) src/mips
-       @: > src/mips/$(am__dirstamp)
-src/mips/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/mips/$(DEPDIR)
-       @: > src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/ffi.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/o32.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/n32.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/x86/$(am__dirstamp):
-       @$(MKDIR_P) src/x86
-       @: > src/x86/$(am__dirstamp)
-src/x86/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/x86/$(DEPDIR)
-       @: > src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/sysv.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/freebsd.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win32.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sparc/$(am__dirstamp):
-       @$(MKDIR_P) src/sparc
-       @: > src/sparc/$(am__dirstamp)
-src/sparc/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sparc/$(DEPDIR)
-       @: > src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/ffi.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v8.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v9.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/alpha/$(am__dirstamp):
-       @$(MKDIR_P) src/alpha
-       @: > src/alpha/$(am__dirstamp)
-src/alpha/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/alpha/$(DEPDIR)
-       @: > src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/ffi.lo: src/alpha/$(am__dirstamp) \
-       src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/osf.lo: src/alpha/$(am__dirstamp) \
-       src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/ia64/$(am__dirstamp):
-       @$(MKDIR_P) src/ia64
-       @: > src/ia64/$(am__dirstamp)
-src/ia64/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/ia64/$(DEPDIR)
-       @: > src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/ffi.lo: src/ia64/$(am__dirstamp) \
-       src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/unix.lo: src/ia64/$(am__dirstamp) \
-       src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/m32r/$(am__dirstamp):
-       @$(MKDIR_P) src/m32r
-       @: > src/m32r/$(am__dirstamp)
-src/m32r/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/m32r/$(DEPDIR)
-       @: > src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/sysv.lo: src/m32r/$(am__dirstamp) \
-       src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/ffi.lo: src/m32r/$(am__dirstamp) \
-       src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m68k/$(am__dirstamp):
-       @$(MKDIR_P) src/m68k
-       @: > src/m68k/$(am__dirstamp)
-src/m68k/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/m68k/$(DEPDIR)
-       @: > src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \
-       src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
-       src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/$(am__dirstamp):
-       @$(MKDIR_P) src/powerpc
-       @: > src/powerpc/$(am__dirstamp)
-src/powerpc/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/powerpc/$(DEPDIR)
-       @: > src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/sysv.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ppc_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/arm/$(am__dirstamp):
-       @$(MKDIR_P) src/arm
-       @: > src/arm/$(am__dirstamp)
-src/arm/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/arm/$(DEPDIR)
-       @: > src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/sysv.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/ffi.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/trampoline.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/avr32/$(am__dirstamp):
-       @$(MKDIR_P) src/avr32
-       @: > src/avr32/$(am__dirstamp)
-src/avr32/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/avr32/$(DEPDIR)
-       @: > src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/sysv.lo: src/avr32/$(am__dirstamp) \
-       src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/ffi.lo: src/avr32/$(am__dirstamp) \
-       src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/cris/$(am__dirstamp):
-       @$(MKDIR_P) src/cris
-       @: > src/cris/$(am__dirstamp)
-src/cris/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/cris/$(DEPDIR)
-       @: > src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/sysv.lo: src/cris/$(am__dirstamp) \
-       src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/ffi.lo: src/cris/$(am__dirstamp) \
-       src/cris/$(DEPDIR)/$(am__dirstamp)
-src/frv/$(am__dirstamp):
-       @$(MKDIR_P) src/frv
-       @: > src/frv/$(am__dirstamp)
-src/frv/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/frv/$(DEPDIR)
-       @: > src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/eabi.lo: src/frv/$(am__dirstamp) \
-       src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/ffi.lo: src/frv/$(am__dirstamp) \
-       src/frv/$(DEPDIR)/$(am__dirstamp)
-src/moxie/$(am__dirstamp):
-       @$(MKDIR_P) src/moxie
-       @: > src/moxie/$(am__dirstamp)
-src/moxie/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/moxie/$(DEPDIR)
-       @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
-       src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
-       src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/s390/$(am__dirstamp):
-       @$(MKDIR_P) src/s390
-       @: > src/s390/$(am__dirstamp)
-src/s390/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/s390/$(DEPDIR)
-       @: > src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/sysv.lo: src/s390/$(am__dirstamp) \
-       src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/ffi.lo: src/s390/$(am__dirstamp) \
-       src/s390/$(DEPDIR)/$(am__dirstamp)
-src/x86/unix64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sh/$(am__dirstamp):
-       @$(MKDIR_P) src/sh
-       @: > src/sh/$(am__dirstamp)
-src/sh/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sh/$(DEPDIR)
-       @: > src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/sysv.lo: src/sh/$(am__dirstamp) \
-       src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/ffi.lo: src/sh/$(am__dirstamp) src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh64/$(am__dirstamp):
-       @$(MKDIR_P) src/sh64
-       @: > src/sh64/$(am__dirstamp)
-src/sh64/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sh64/$(DEPDIR)
-       @: > src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/sysv.lo: src/sh64/$(am__dirstamp) \
-       src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/ffi.lo: src/sh64/$(am__dirstamp) \
-       src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/pa/$(am__dirstamp):
-       @$(MKDIR_P) src/pa
-       @: > src/pa/$(am__dirstamp)
-src/pa/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/pa/$(DEPDIR)
-       @: > src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/linux.lo: src/pa/$(am__dirstamp) \
-       src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
-       src/pa/$(DEPDIR)/$(am__dirstamp)
-libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) 
-       $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
-libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) 
-       $(LINK)  $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-       -rm -f src/alpha/ffi.$(OBJEXT)
-       -rm -f src/alpha/ffi.lo
-       -rm -f src/alpha/osf.$(OBJEXT)
-       -rm -f src/alpha/osf.lo
-       -rm -f src/arm/ffi.$(OBJEXT)
-       -rm -f src/arm/ffi.lo
-       -rm -f src/arm/sysv.$(OBJEXT)
-       -rm -f src/arm/sysv.lo
-       -rm -f src/arm/trampoline.$(OBJEXT)
-       -rm -f src/arm/trampoline.lo
-       -rm -f src/avr32/ffi.$(OBJEXT)
-       -rm -f src/avr32/ffi.lo
-       -rm -f src/avr32/sysv.$(OBJEXT)
-       -rm -f src/avr32/sysv.lo
-       -rm -f src/closures.$(OBJEXT)
-       -rm -f src/closures.lo
-       -rm -f src/cris/ffi.$(OBJEXT)
-       -rm -f src/cris/ffi.lo
-       -rm -f src/cris/sysv.$(OBJEXT)
-       -rm -f src/cris/sysv.lo
-       -rm -f src/debug.$(OBJEXT)
-       -rm -f src/debug.lo
-       -rm -f src/frv/eabi.$(OBJEXT)
-       -rm -f src/frv/eabi.lo
-       -rm -f src/frv/ffi.$(OBJEXT)
-       -rm -f src/frv/ffi.lo
-       -rm -f src/ia64/ffi.$(OBJEXT)
-       -rm -f src/ia64/ffi.lo
-       -rm -f src/ia64/unix.$(OBJEXT)
-       -rm -f src/ia64/unix.lo
-       -rm -f src/java_raw_api.$(OBJEXT)
-       -rm -f src/java_raw_api.lo
-       -rm -f src/m32r/ffi.$(OBJEXT)
-       -rm -f src/m32r/ffi.lo
-       -rm -f src/m32r/sysv.$(OBJEXT)
-       -rm -f src/m32r/sysv.lo
-       -rm -f src/m68k/ffi.$(OBJEXT)
-       -rm -f src/m68k/ffi.lo
-       -rm -f src/m68k/sysv.$(OBJEXT)
-       -rm -f src/m68k/sysv.lo
-       -rm -f src/mips/ffi.$(OBJEXT)
-       -rm -f src/mips/ffi.lo
-       -rm -f src/mips/n32.$(OBJEXT)
-       -rm -f src/mips/n32.lo
-       -rm -f src/mips/o32.$(OBJEXT)
-       -rm -f src/mips/o32.lo
-       -rm -f src/moxie/eabi.$(OBJEXT)
-       -rm -f src/moxie/eabi.lo
-       -rm -f src/moxie/ffi.$(OBJEXT)
-       -rm -f src/moxie/ffi.lo
-       -rm -f src/pa/ffi.$(OBJEXT)
-       -rm -f src/pa/ffi.lo
-       -rm -f src/pa/hpux32.$(OBJEXT)
-       -rm -f src/pa/hpux32.lo
-       -rm -f src/pa/linux.$(OBJEXT)
-       -rm -f src/pa/linux.lo
-       -rm -f src/powerpc/aix.$(OBJEXT)
-       -rm -f src/powerpc/aix.lo
-       -rm -f src/powerpc/aix_closure.$(OBJEXT)
-       -rm -f src/powerpc/aix_closure.lo
-       -rm -f src/powerpc/darwin.$(OBJEXT)
-       -rm -f src/powerpc/darwin.lo
-       -rm -f src/powerpc/darwin_closure.$(OBJEXT)
-       -rm -f src/powerpc/darwin_closure.lo
-       -rm -f src/powerpc/ffi.$(OBJEXT)
-       -rm -f src/powerpc/ffi.lo
-       -rm -f src/powerpc/ffi_darwin.$(OBJEXT)
-       -rm -f src/powerpc/ffi_darwin.lo
-       -rm -f src/powerpc/linux64.$(OBJEXT)
-       -rm -f src/powerpc/linux64.lo
-       -rm -f src/powerpc/linux64_closure.$(OBJEXT)
-       -rm -f src/powerpc/linux64_closure.lo
-       -rm -f src/powerpc/ppc_closure.$(OBJEXT)
-       -rm -f src/powerpc/ppc_closure.lo
-       -rm -f src/powerpc/sysv.$(OBJEXT)
-       -rm -f src/powerpc/sysv.lo
-       -rm -f src/prep_cif.$(OBJEXT)
-       -rm -f src/prep_cif.lo
-       -rm -f src/raw_api.$(OBJEXT)
-       -rm -f src/raw_api.lo
-       -rm -f src/s390/ffi.$(OBJEXT)
-       -rm -f src/s390/ffi.lo
-       -rm -f src/s390/sysv.$(OBJEXT)
-       -rm -f src/s390/sysv.lo
-       -rm -f src/sh/ffi.$(OBJEXT)
-       -rm -f src/sh/ffi.lo
-       -rm -f src/sh/sysv.$(OBJEXT)
-       -rm -f src/sh/sysv.lo
-       -rm -f src/sh64/ffi.$(OBJEXT)
-       -rm -f src/sh64/ffi.lo
-       -rm -f src/sh64/sysv.$(OBJEXT)
-       -rm -f src/sh64/sysv.lo
-       -rm -f src/sparc/ffi.$(OBJEXT)
-       -rm -f src/sparc/ffi.lo
-       -rm -f src/sparc/v8.$(OBJEXT)
-       -rm -f src/sparc/v8.lo
-       -rm -f src/sparc/v9.$(OBJEXT)
-       -rm -f src/sparc/v9.lo
-       -rm -f src/types.$(OBJEXT)
-       -rm -f src/types.lo
-       -rm -f src/x86/darwin.$(OBJEXT)
-       -rm -f src/x86/darwin.lo
-       -rm -f src/x86/darwin64.$(OBJEXT)
-       -rm -f src/x86/darwin64.lo
-       -rm -f src/x86/ffi.$(OBJEXT)
-       -rm -f src/x86/ffi.lo
-       -rm -f src/x86/ffi64.$(OBJEXT)
-       -rm -f src/x86/ffi64.lo
-       -rm -f src/x86/freebsd.$(OBJEXT)
-       -rm -f src/x86/freebsd.lo
-       -rm -f src/x86/sysv.$(OBJEXT)
-       -rm -f src/x86/sysv.lo
-       -rm -f src/x86/unix64.$(OBJEXT)
-       -rm -f src/x86/unix64.lo
-       -rm -f src/x86/win32.$(OBJEXT)
-       -rm -f src/x86/win32.lo
-       -rm -f src/x86/win64.$(OBJEXT)
-       -rm -f src/x86/win64.lo
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/closures.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/debug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/java_raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/prep_cif.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/types.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/unix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi_darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ppc_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v8.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/freebsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/unix64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win64.Plo@am__quote@
-
-.S.o:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(CPPASCOMPILE) -c -o $@ $<
-
-.S.obj:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.S.lo:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(LTCPPASCOMPILE) -c -o $@ $<
-
-.c.o:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-       -rm -rf src/.libs src/_libs
-       -rm -rf src/alpha/.libs src/alpha/_libs
-       -rm -rf src/arm/.libs src/arm/_libs
-       -rm -rf src/avr32/.libs src/avr32/_libs
-       -rm -rf src/cris/.libs src/cris/_libs
-       -rm -rf src/frv/.libs src/frv/_libs
-       -rm -rf src/ia64/.libs src/ia64/_libs
-       -rm -rf src/m32r/.libs src/m32r/_libs
-       -rm -rf src/m68k/.libs src/m68k/_libs
-       -rm -rf src/mips/.libs src/mips/_libs
-       -rm -rf src/moxie/.libs src/moxie/_libs
-       -rm -rf src/pa/.libs src/pa/_libs
-       -rm -rf src/powerpc/.libs src/powerpc/_libs
-       -rm -rf src/s390/.libs src/s390/_libs
-       -rm -rf src/sh/.libs src/sh/_libs
-       -rm -rf src/sh64/.libs src/sh64/_libs
-       -rm -rf src/sparc/.libs src/sparc/_libs
-       -rm -rf src/x86/.libs src/x86/_libs
-
-distclean-libtool:
-       -rm -f libtool config.lt
-doc/$(am__dirstamp):
-       @$(MKDIR_P) doc
-       @: > doc/$(am__dirstamp)
-
-$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
-       restore=: && backupdir="$(am__leading_dot)am$$$$" && \
-       am__cwd=`pwd` && $(am__cd) $(srcdir) && \
-       rm -rf $$backupdir && mkdir $$backupdir && \
-       if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
-         for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
-           if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
-         done; \
-       else :; fi && \
-       cd "$$am__cwd"; \
-       if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-        -o $@ $(srcdir)/doc/libffi.texi; \
-       then \
-         rc=0; \
-         $(am__cd) $(srcdir); \
-       else \
-         rc=$$?; \
-         $(am__cd) $(srcdir) && \
-         $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
-       fi; \
-       rm -rf $$backupdir; exit $$rc
-
-doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-       $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-       $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       rm -rf $(@:.html=.htp)
-       if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-        -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
-       then \
-         rm -rf $@; \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
-       else \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
-         exit 1; \
-       fi
-$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
-$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
-       test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
-       @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
-       set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
-       echo "@set UPDATED $$1 $$2 $$3"; \
-       echo "@set UPDATED-MONTH $$2 $$3"; \
-       echo "@set EDITION $(VERSION)"; \
-       echo "@set VERSION $(VERSION)") > vti.tmp
-       @cmp -s vti.tmp $(srcdir)/doc/version.texi \
-         || (echo "Updating $(srcdir)/doc/version.texi"; \
-             cp vti.tmp $(srcdir)/doc/version.texi)
-       -@rm -f vti.tmp
-       @cp $(srcdir)/doc/version.texi $@
-
-mostlyclean-vti:
-       -rm -f vti.tmp
-
-maintainer-clean-vti:
-@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
-.dvi.ps:
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       $(DVIPS) -o $@ $<
-
-uninstall-dvi-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
-         rm -f "$(DESTDIR)$(dvidir)/$$f"; \
-       done
-
-uninstall-html-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
-         rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
-       done
-
-uninstall-info-am:
-       @$(PRE_UNINSTALL)
-       @if test -d '$(DESTDIR)$(infodir)' && \
-           (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
-         list='$(INFO_DEPS)'; \
-         for file in $$list; do \
-           relfile=`echo "$$file" | sed 's|^.*/||'`; \
-           echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
-           if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
-           then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
-         done; \
-       else :; fi
-       @$(NORMAL_UNINSTALL)
-       @list='$(INFO_DEPS)'; \
-       for file in $$list; do \
-         relfile=`echo "$$file" | sed 's|^.*/||'`; \
-         relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
-         (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
-            echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
-            rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
-          else :; fi); \
-       done
-
-uninstall-pdf-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
-         rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
-       done
-
-uninstall-ps-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(PSS)'; test -n "$(psdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
-         rm -f "$(DESTDIR)$(psdir)/$$f"; \
-       done
-
-dist-info: $(INFO_DEPS)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-       list='$(INFO_DEPS)'; \
-       for base in $$list; do \
-         case $$base in \
-           $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
-         esac; \
-         if test -f $$base; then d=.; else d=$(srcdir); fi; \
-         base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
-         for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
-           if test -f $$file; then \
-             relfile=`expr "$$file" : "$$d/\(.*\)"`; \
-             test -f "$(distdir)/$$relfile" || \
-               cp -p $$file "$(distdir)/$$relfile"; \
-           else :; fi; \
-         done; \
-       done
-
-mostlyclean-aminfo:
-       -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
-         libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
-
-clean-aminfo:
-       -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
-       || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
-
-maintainer-clean-aminfo:
-       @list='$(INFO_DEPS)'; for i in $$list; do \
-         i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
-         echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
-         rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
-       done
-install-pkgconfigDATA: $(pkgconfig_DATA)
-       @$(NORMAL_INSTALL)
-       test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
-       done
-
-uninstall-pkgconfigDATA:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       test -n "$$files" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-info
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
-installdirs: installdirs-recursive
-installdirs-am:
-       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -rm -f doc/$(am__dirstamp)
-       -rm -f src/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/$(am__dirstamp)
-       -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/alpha/$(am__dirstamp)
-       -rm -f src/arm/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/arm/$(am__dirstamp)
-       -rm -f src/avr32/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/avr32/$(am__dirstamp)
-       -rm -f src/cris/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/cris/$(am__dirstamp)
-       -rm -f src/frv/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/frv/$(am__dirstamp)
-       -rm -f src/ia64/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/ia64/$(am__dirstamp)
-       -rm -f src/m32r/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/m32r/$(am__dirstamp)
-       -rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/m68k/$(am__dirstamp)
-       -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/mips/$(am__dirstamp)
-       -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/moxie/$(am__dirstamp)
-       -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/pa/$(am__dirstamp)
-       -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/powerpc/$(am__dirstamp)
-       -rm -f src/s390/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/s390/$(am__dirstamp)
-       -rm -f src/sh/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sh/$(am__dirstamp)
-       -rm -f src/sh64/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sh64/$(am__dirstamp)
-       -rm -f src/sparc/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sparc/$(am__dirstamp)
-       -rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/x86/$(am__dirstamp)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
-       clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am: $(DVIS)
-
-html: html-recursive
-
-html-am: $(HTMLS)
-
-info: info-recursive
-
-info-am: $(INFO_DEPS)
-
-install-data-am: install-info-am install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am: $(DVIS)
-       @$(NORMAL_INSTALL)
-       test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
-       @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
-       done
-install-exec-am: install-libLTLIBRARIES
-
-install-html-am: $(HTMLS)
-       @$(NORMAL_INSTALL)
-       test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
-       @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         $(am__strip_dir) \
-         if test -d "$$d$$p"; then \
-           echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
-           echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
-         else \
-           list2="$$list2 $$d$$p"; \
-         fi; \
-       done; \
-       test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
-       done; }
-install-info: install-info-recursive
-
-install-info-am: $(INFO_DEPS)
-       @$(NORMAL_INSTALL)
-       test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-       list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
-       for file in $$list; do \
-         case $$file in \
-           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-         esac; \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
-         file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
-         for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
-                      $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
-           if test -f $$ifile; then \
-             echo "$$ifile"; \
-           else : ; fi; \
-         done; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
-       @$(POST_INSTALL)
-       @if (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
-         list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
-         for file in $$list; do \
-           relfile=`echo "$$file" | sed 's|^.*/||'`; \
-           echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
-           install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
-         done; \
-       else : ; fi
-install-man:
-
-install-pdf-am: $(PDFS)
-       @$(NORMAL_INSTALL)
-       test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
-       @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
-install-ps: install-ps-recursive
-
-install-ps-am: $(PSS)
-       @$(NORMAL_INSTALL)
-       test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
-       @list='$(PSS)'; test -n "$(psdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf $(top_srcdir)/autom4te.cache
-       -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-aminfo \
-       maintainer-clean-generic maintainer-clean-vti
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool mostlyclean-vti
-
-pdf: pdf-recursive
-
-pdf-am: $(PDFS)
-
-ps: ps-recursive
-
-ps-am: $(PSS)
-
-uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
-       uninstall-libLTLIBRARIES uninstall-pdf-am \
-       uninstall-pkgconfigDATA uninstall-ps-am
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
-       ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-aminfo \
-       clean-generic clean-libLTLIBRARIES clean-libtool \
-       clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
-       dist-bzip2 dist-gzip dist-info dist-lzma dist-shar dist-tarZ \
-       dist-xz dist-zip distcheck distclean distclean-compile \
-       distclean-generic distclean-hdr distclean-libtool \
-       distclean-tags distcleancheck distdir distuninstallcheck dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-libLTLIBRARIES \
-       install-man install-pdf install-pdf-am install-pkgconfigDATA \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-aminfo maintainer-clean-generic \
-       maintainer-clean-vti mostlyclean mostlyclean-aminfo \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
-       uninstall-info-am uninstall-libLTLIBRARIES uninstall-pdf-am \
-       uninstall-pkgconfigDATA uninstall-ps-am
-
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/.pc/remove-debug-code/libtool-version b/.pc/remove-debug-code/libtool-version
deleted file mode 100644 (file)
index b8b80e0..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file is used to maintain libtool version info for libffi.  See
-# the libtool manual to understand the meaning of the fields.  This is
-# a separate file so that version updates don't involve re-running
-# automake.
-#
-# Here are a set of rules to help you update your library version
-# information:
-# 
-# 1. Start with version information of `0:0:0' for each libtool library.
-#
-# 2. Update the version information only immediately before a public
-#    release of your software. More frequent updates are unnecessary,
-#    and only guarantee that the current interface number gets larger
-#    faster.
-#
-# 3. If the library source code has changed at all since the last
-#    update, then increment revision (`c:r:a' becomes `c:r+1:a').
-#
-# 4. If any interfaces have been added, removed, or changed since the
-#    last update, increment current, and set revision to 0.
-#
-# 5. If any interfaces have been added since the last public release,
-#    then increment age.
-#
-# 6. If any interfaces have been removed since the last public
-#    release, then set age to 0.
-#
-# CURRENT:REVISION:AGE
-5:10:0
diff --git a/.pc/sparc-abi-check/.timestamp b/.pc/sparc-abi-check/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/sparc-abi-check/ChangeLog b/.pc/sparc-abi-check/ChangeLog
deleted file mode 100644 (file)
index cc4f9f1..0000000
+++ /dev/null
@@ -1,4636 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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@macports.org>
-
-       * 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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/sparc-abi-check/src/sparc/ffi.c b/.pc/sparc-abi-check/src/sparc/ffi.c
deleted file mode 100644 (file)
index f16701a..0000000
+++ /dev/null
@@ -1,667 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 1996, 2003, 2004, 2007, 2008 Red Hat, Inc.
-           Copyright (c) 2011 Anthony Green
-   
-   SPARC Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-
-/* ffi_prep_args is called by the assembly routine once stack space
-   has been allocated for the function's arguments */
-
-void ffi_prep_args_v8(char *stack, extended_cif *ecif)
-{
-  int i;
-  void **p_argv;
-  char *argp;
-  ffi_type **p_arg;
-
-  /* Skip 16 words for the window save area */
-  argp = stack + 16*sizeof(int);
-
-  /* This should only really be done when we are returning a structure,
-     however, it's faster just to do it all the time...
-
-  if ( ecif->cif->rtype->type == FFI_TYPE_STRUCT ) */
-  *(int *) argp = (long)ecif->rvalue;
-
-  /* And 1 word for the  structure return value. */
-  argp += sizeof(int);
-
-#ifdef USING_PURIFY
-  /* Purify will probably complain in our assembly routine, unless we
-     zero out this memory. */
-
-  ((int*)argp)[0] = 0;
-  ((int*)argp)[1] = 0;
-  ((int*)argp)[2] = 0;
-  ((int*)argp)[3] = 0;
-  ((int*)argp)[4] = 0;
-  ((int*)argp)[5] = 0;
-#endif
-
-  p_argv = ecif->avalue;
-
-  for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; i; i--, p_arg++)
-    {
-      size_t z;
-
-         if ((*p_arg)->type == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-             || (*p_arg)->type == FFI_TYPE_LONGDOUBLE
-#endif
-             )
-           {
-             *(unsigned int *) argp = (unsigned long)(* p_argv);
-             z = sizeof(int);
-           }
-         else
-           {
-             z = (*p_arg)->size;
-             if (z < sizeof(int))
-               {
-                 z = sizeof(int);
-                 switch ((*p_arg)->type)
-                   {
-                   case FFI_TYPE_SINT8:
-                     *(signed int *) argp = *(SINT8 *)(* p_argv);
-                     break;
-                     
-                   case FFI_TYPE_UINT8:
-                     *(unsigned int *) argp = *(UINT8 *)(* p_argv);
-                     break;
-                     
-                   case FFI_TYPE_SINT16:
-                     *(signed int *) argp = *(SINT16 *)(* p_argv);
-                     break;
-                     
-                   case FFI_TYPE_UINT16:
-                     *(unsigned int *) argp = *(UINT16 *)(* p_argv);
-                     break;
-
-                   default:
-                     FFI_ASSERT(0);
-                   }
-               }
-             else
-               {
-                 memcpy(argp, *p_argv, z);
-               }
-           }
-         p_argv++;
-         argp += z;
-    }
-  
-  return;
-}
-
-int ffi_prep_args_v9(char *stack, extended_cif *ecif)
-{
-  int i, ret = 0;
-  int tmp;
-  void **p_argv;
-  char *argp;
-  ffi_type **p_arg;
-
-  tmp = 0;
-
-  /* Skip 16 words for the window save area */
-  argp = stack + 16*sizeof(long long);
-
-#ifdef USING_PURIFY
-  /* Purify will probably complain in our assembly routine, unless we
-     zero out this memory. */
-
-  ((long long*)argp)[0] = 0;
-  ((long long*)argp)[1] = 0;
-  ((long long*)argp)[2] = 0;
-  ((long long*)argp)[3] = 0;
-  ((long long*)argp)[4] = 0;
-  ((long long*)argp)[5] = 0;
-#endif
-
-  p_argv = ecif->avalue;
-
-  if (ecif->cif->rtype->type == FFI_TYPE_STRUCT &&
-      ecif->cif->rtype->size > 32)
-    {
-      *(unsigned long long *) argp = (unsigned long)ecif->rvalue;
-      argp += sizeof(long long);
-      tmp = 1;
-    }
-
-  for (i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs;
-       i++, p_arg++)
-    {
-      size_t z;
-
-      z = (*p_arg)->size;
-      switch ((*p_arg)->type)
-       {
-       case FFI_TYPE_STRUCT:
-         if (z > 16)
-           {
-             /* For structures larger than 16 bytes we pass reference.  */
-             *(unsigned long long *) argp = (unsigned long)* p_argv;
-             argp += sizeof(long long);
-             tmp++;
-             p_argv++;
-             continue;
-           }
-         /* FALLTHROUGH */
-       case FFI_TYPE_FLOAT:
-       case FFI_TYPE_DOUBLE:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-#endif
-         ret = 1; /* We should promote into FP regs as well as integer.  */
-         break;
-       }
-      if (z < sizeof(long long))
-       {
-         switch ((*p_arg)->type)
-           {
-           case FFI_TYPE_SINT8:
-             *(signed long long *) argp = *(SINT8 *)(* p_argv);
-             break;
-
-           case FFI_TYPE_UINT8:
-             *(unsigned long long *) argp = *(UINT8 *)(* p_argv);
-             break;
-
-           case FFI_TYPE_SINT16:
-             *(signed long long *) argp = *(SINT16 *)(* p_argv);
-             break;
-
-           case FFI_TYPE_UINT16:
-             *(unsigned long long *) argp = *(UINT16 *)(* p_argv);
-             break;
-
-           case FFI_TYPE_SINT32:
-             *(signed long long *) argp = *(SINT32 *)(* p_argv);
-             break;
-
-           case FFI_TYPE_UINT32:
-             *(unsigned long long *) argp = *(UINT32 *)(* p_argv);
-             break;
-
-           case FFI_TYPE_FLOAT:
-             *(float *) (argp + 4) = *(FLOAT32 *)(* p_argv); /* Right justify */
-             break;
-
-           case FFI_TYPE_STRUCT:
-             memcpy(argp, *p_argv, z);
-             break;
-
-           default:
-             FFI_ASSERT(0);
-           }
-         z = sizeof(long long);
-         tmp++;
-       }
-      else if (z == sizeof(long long))
-       {
-         memcpy(argp, *p_argv, z);
-         z = sizeof(long long);
-         tmp++;
-       }
-      else
-       {
-         if ((tmp & 1) && (*p_arg)->alignment > 8)
-           {
-             tmp++;
-             argp += sizeof(long long);
-           }
-         memcpy(argp, *p_argv, z);
-         z = 2 * sizeof(long long);
-         tmp += 2;
-       }
-      p_argv++;
-      argp += z;
-    }
-
-  return ret;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
-  int wordsize;
-
-  if (cif->abi != FFI_V9)
-    {
-      wordsize = 4;
-
-      /* If we are returning a struct, this will already have been added.
-        Otherwise we need to add it because it's always got to be there! */
-
-      if (cif->rtype->type != FFI_TYPE_STRUCT)
-       cif->bytes += wordsize;
-
-      /* sparc call frames require that space is allocated for 6 args,
-        even if they aren't used. Make that space if necessary. */
-  
-      if (cif->bytes < 4*6+4)
-       cif->bytes = 4*6+4;
-    }
-  else
-    {
-      wordsize = 8;
-
-      /* sparc call frames require that space is allocated for 6 args,
-        even if they aren't used. Make that space if necessary. */
-  
-      if (cif->bytes < 8*6)
-       cif->bytes = 8*6;
-    }
-
-  /* Adjust cif->bytes. to include 16 words for the window save area,
-     and maybe the struct/union return pointer area, */
-
-  cif->bytes += 16 * wordsize;
-
-  /* The stack must be 2 word aligned, so round bytes up
-     appropriately. */
-
-  cif->bytes = ALIGN(cif->bytes, 2 * wordsize);
-
-  /* Set the return type flag */
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_VOID:
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-    case FFI_TYPE_LONGDOUBLE:
-#endif
-      cif->flags = cif->rtype->type;
-      break;
-
-    case FFI_TYPE_STRUCT:
-      if (cif->abi == FFI_V9 && cif->rtype->size > 32)
-       cif->flags = FFI_TYPE_VOID;
-      else
-       cif->flags = FFI_TYPE_STRUCT;
-      break;
-
-    case FFI_TYPE_SINT8:
-    case FFI_TYPE_UINT8:
-    case FFI_TYPE_SINT16:
-    case FFI_TYPE_UINT16:
-      if (cif->abi == FFI_V9)
-       cif->flags = FFI_TYPE_INT;
-      else
-       cif->flags = cif->rtype->type;
-      break;
-
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_UINT64:
-      if (cif->abi == FFI_V9)
-       cif->flags = FFI_TYPE_INT;
-      else
-       cif->flags = FFI_TYPE_SINT64;
-      break;
-
-    default:
-      cif->flags = FFI_TYPE_INT;
-      break;
-    }
-  return FFI_OK;
-}
-
-int ffi_v9_layout_struct(ffi_type *arg, int off, char *ret, char *intg, char *flt)
-{
-  ffi_type **ptr = &arg->elements[0];
-
-  while (*ptr != NULL)
-    {
-      if (off & ((*ptr)->alignment - 1))
-       off = ALIGN(off, (*ptr)->alignment);
-
-      switch ((*ptr)->type)
-       {
-       case FFI_TYPE_STRUCT:
-         off = ffi_v9_layout_struct(*ptr, off, ret, intg, flt);
-         off = ALIGN(off, FFI_SIZEOF_ARG);
-         break;
-       case FFI_TYPE_FLOAT:
-       case FFI_TYPE_DOUBLE:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-#endif
-         memmove(ret + off, flt + off, (*ptr)->size);
-         off += (*ptr)->size;
-         break;
-       default:
-         memmove(ret + off, intg + off, (*ptr)->size);
-         off += (*ptr)->size;
-         break;
-       }
-      ptr++;
-    }
-  return off;
-}
-
-
-#ifdef SPARC64
-extern int ffi_call_v9(void *, extended_cif *, unsigned, 
-                      unsigned, unsigned *, void (*fn)(void));
-#else
-extern int ffi_call_v8(void *, extended_cif *, unsigned, 
-                      unsigned, unsigned *, void (*fn)(void));
-#endif
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-  void *rval = rvalue;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  /* If the return value is a struct and we don't have a return        */
-  /* value address then we need to make one                    */
-
-  ecif.rvalue = rvalue;
-  if (cif->rtype->type == FFI_TYPE_STRUCT)
-    {
-      if (cif->rtype->size <= 32)
-       rval = alloca(64);
-      else
-       {
-         rval = NULL;
-         if (rvalue == NULL)
-           ecif.rvalue = alloca(cif->rtype->size);
-       }
-    }
-
-  switch (cif->abi) 
-    {
-    case FFI_V8:
-#ifdef SPARC64
-      /* We don't yet support calling 32bit code from 64bit */
-      FFI_ASSERT(0);
-#else
-      if (rvalue && (cif->rtype->type == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         || cif->flags == FFI_TYPE_LONGDOUBLE
-#endif
-         ))
-       {
-         /* For v8, we need an "unimp" with size of returning struct */
-         /* behind "call", so we alloc some executable space for it. */
-         /* l7 is used, we need to make sure v8.S doesn't use %l7.   */
-         unsigned int *call_struct = NULL;
-         ffi_closure_alloc(32, &call_struct);
-         if (call_struct)
-           {
-             unsigned long f = (unsigned long)fn;
-             call_struct[0] = 0xae10001f;               /* mov   %i7, %l7       */
-             call_struct[1] = 0xbe10000f;               /* mov   %o7, %i7       */
-             call_struct[2] = 0x03000000 | f >> 10;     /* sethi %hi(fn), %g1   */
-             call_struct[3] = 0x9fc06000 | (f & 0x3ff); /* jmp %g1+%lo(fn), %o7 */
-             call_struct[4] = 0x01000000;               /* nop                  */
-             if (cif->rtype->size < 0x7f)
-               call_struct[5] = cif->rtype->size;       /* unimp                */
-             else
-               call_struct[5] = 0x01000000;             /* nop                  */
-             call_struct[6] = 0x81c7e008;               /* ret                  */
-             call_struct[7] = 0xbe100017;               /* mov   %l7, %i7       */
-             asm volatile ("iflush %0; iflush %0+8; iflush %0+16; iflush %0+24" : :
-                           "r" (call_struct) : "memory");
-             /* SPARC v8 requires 5 instructions for flush to be visible */
-             asm volatile ("nop; nop; nop; nop; nop");
-             ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes,
-                         cif->flags, rvalue, call_struct);
-             ffi_closure_free(call_struct);
-           }
-         else
-           {
-             ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes,
-                         cif->flags, rvalue, fn);
-           }
-       }
-      else
-       {
-         ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes,
-                     cif->flags, rvalue, fn);
-       }
-#endif
-      break;
-    case FFI_V9:
-#ifdef SPARC64
-      ffi_call_v9(ffi_prep_args_v9, &ecif, cif->bytes,
-                 cif->flags, rval, fn);
-      if (rvalue && rval && cif->rtype->type == FFI_TYPE_STRUCT)
-       ffi_v9_layout_struct(cif->rtype, 0, (char *)rvalue, (char *)rval, ((char *)rval)+32);
-#else
-      /* And vice versa */
-      FFI_ASSERT(0);
-#endif
-      break;
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-}
-
-
-#ifdef SPARC64
-extern void ffi_closure_v9(void);
-#else
-extern void ffi_closure_v8(void);
-#endif
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif*, void*, void**, void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  unsigned int *tramp = (unsigned int *) &closure->tramp[0];
-  unsigned long fn;
-#ifdef SPARC64
-  /* Trampoline address is equal to the closure address.  We take advantage
-     of that to reduce the trampoline size by 8 bytes. */
-  FFI_ASSERT (cif->abi == FFI_V9);
-  fn = (unsigned long) ffi_closure_v9;
-  tramp[0] = 0x83414000;       /* rd   %pc, %g1        */
-  tramp[1] = 0xca586010;       /* ldx  [%g1+16], %g5   */
-  tramp[2] = 0x81c14000;       /* jmp  %g5             */
-  tramp[3] = 0x01000000;       /* nop                  */
-  *((unsigned long *) &tramp[4]) = fn;
-#else
-  unsigned long ctx = (unsigned long) codeloc;
-  FFI_ASSERT (cif->abi == FFI_V8);
-  fn = (unsigned long) ffi_closure_v8;
-  tramp[0] = 0x03000000 | fn >> 10;    /* sethi %hi(fn), %g1   */
-  tramp[1] = 0x05000000 | ctx >> 10;   /* sethi %hi(ctx), %g2  */
-  tramp[2] = 0x81c06000 | (fn & 0x3ff);        /* jmp   %g1+%lo(fn)    */
-  tramp[3] = 0x8410a000 | (ctx & 0x3ff);/* or    %g2, %lo(ctx) */
-#endif
-
-  closure->cif = cif;
-  closure->fun = fun;
-  closure->user_data = user_data;
-
-  /* Flush the Icache.  closure is 8 bytes aligned.  */
-#ifdef SPARC64
-  asm volatile ("flush %0; flush %0+8" : : "r" (closure) : "memory");
-#else
-  asm volatile ("iflush        %0; iflush %0+8" : : "r" (closure) : "memory");
-  /* SPARC v8 requires 5 instructions for flush to be visible */
-  asm volatile ("nop; nop; nop; nop; nop");
-#endif
-
-  return FFI_OK;
-}
-
-int
-ffi_closure_sparc_inner_v8(ffi_closure *closure,
-  void *rvalue, unsigned long *gpr, unsigned long *scratch)
-{
-  ffi_cif *cif;
-  ffi_type **arg_types;
-  void **avalue;
-  int i, argn;
-
-  cif = closure->cif;
-  arg_types = cif->arg_types;
-  avalue = alloca(cif->nargs * sizeof(void *));
-
-  /* Copy the caller's structure return address so that the closure
-     returns the data directly to the caller.  */
-  if (cif->flags == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE  
-      || cif->flags == FFI_TYPE_LONGDOUBLE
-#endif
-     )
-    rvalue = (void *) gpr[0];
-
-  /* Always skip the structure return address.  */
-  argn = 1;
-
-  /* Grab the addresses of the arguments from the stack frame.  */
-  for (i = 0; i < cif->nargs; i++)
-    {
-      if (arg_types[i]->type == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         || arg_types[i]->type == FFI_TYPE_LONGDOUBLE
-#endif
-         )
-       {
-         /* Straight copy of invisible reference.  */
-         avalue[i] = (void *)gpr[argn++];
-       }
-      else if ((arg_types[i]->type == FFI_TYPE_DOUBLE
-              || arg_types[i]->type == FFI_TYPE_SINT64
-              || arg_types[i]->type == FFI_TYPE_UINT64)
-              /* gpr is 8-byte aligned.  */
-              && (argn % 2) != 0)
-       {
-         /* Align on a 8-byte boundary.  */
-         scratch[0] = gpr[argn];
-         scratch[1] = gpr[argn+1];
-         avalue[i] = scratch;
-         scratch -= 2;
-         argn += 2;
-       }
-      else
-       {
-         /* Always right-justify.  */
-         argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-         avalue[i] = ((char *) &gpr[argn]) - arg_types[i]->size;
-       }
-    }
-
-  /* Invoke the closure.  */
-  (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell ffi_closure_sparc how to perform return type promotions.  */
-  return cif->rtype->type;
-}
-
-int
-ffi_closure_sparc_inner_v9(ffi_closure *closure,
-  void *rvalue, unsigned long *gpr, double *fpr)
-{
-  ffi_cif *cif;
-  ffi_type **arg_types;
-  void **avalue;
-  int i, argn, fp_slot_max;
-
-  cif = closure->cif;
-  arg_types = cif->arg_types;
-  avalue = alloca(cif->nargs * sizeof(void *));
-
-  /* Copy the caller's structure return address so that the closure
-     returns the data directly to the caller.  */
-  if (cif->flags == FFI_TYPE_VOID
-      && cif->rtype->type == FFI_TYPE_STRUCT)
-    {
-      rvalue = (void *) gpr[0];
-      /* Skip the structure return address.  */
-      argn = 1;
-    }
-  else
-    argn = 0;
-
-  fp_slot_max = 16 - argn;
-
-  /* Grab the addresses of the arguments from the stack frame.  */
-  for (i = 0; i < cif->nargs; i++)
-    {
-      if (arg_types[i]->type == FFI_TYPE_STRUCT)
-       {
-         if (arg_types[i]->size > 16)
-           {
-             /* Straight copy of invisible reference.  */
-             avalue[i] = (void *)gpr[argn++];
-           }
-         else
-           {
-             /* Left-justify.  */
-             ffi_v9_layout_struct(arg_types[i],
-                                  0,
-                                  (char *) &gpr[argn],
-                                  (char *) &gpr[argn],
-                                  (char *) &fpr[argn]);
-             avalue[i] = &gpr[argn];
-             argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-           }
-       }
-      else
-       {
-         /* Right-justify.  */
-         argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-
-         /* Align on a 16-byte boundary.  */
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         if (arg_types[i]->type == FFI_TYPE_LONGDOUBLE && (argn % 2) != 0)
-           argn++;
-#endif
-         if (i < fp_slot_max
-             && (arg_types[i]->type == FFI_TYPE_FLOAT
-                 || arg_types[i]->type == FFI_TYPE_DOUBLE
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-                 || arg_types[i]->type == FFI_TYPE_LONGDOUBLE
-#endif
-                 ))
-           avalue[i] = ((char *) &fpr[argn]) - arg_types[i]->size;
-         else
-           avalue[i] = ((char *) &gpr[argn]) - arg_types[i]->size;
-       }
-    }
-
-  /* Invoke the closure.  */
-  (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell ffi_closure_sparc how to perform return type promotions.  */
-  return cif->rtype->type;
-}
diff --git a/.pc/sparc-v8-aggregate-returns/.timestamp b/.pc/sparc-v8-aggregate-returns/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/sparc-v8-aggregate-returns/ChangeLog b/.pc/sparc-v8-aggregate-returns/ChangeLog
deleted file mode 100644 (file)
index 8e6fe96..0000000
+++ /dev/null
@@ -1,4573 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/sparc-v8-aggregate-returns/src/sparc/ffi.c b/.pc/sparc-v8-aggregate-returns/src/sparc/ffi.c
deleted file mode 100644 (file)
index 1d01f59..0000000
+++ /dev/null
@@ -1,625 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 1996, 2003, 2004, 2007, 2008 Red Hat, Inc.
-   
-   SPARC Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-
-/* ffi_prep_args is called by the assembly routine once stack space
-   has been allocated for the function's arguments */
-
-void ffi_prep_args_v8(char *stack, extended_cif *ecif)
-{
-  int i;
-  void **p_argv;
-  char *argp;
-  ffi_type **p_arg;
-
-  /* Skip 16 words for the window save area */
-  argp = stack + 16*sizeof(int);
-
-  /* This should only really be done when we are returning a structure,
-     however, it's faster just to do it all the time...
-
-  if ( ecif->cif->rtype->type == FFI_TYPE_STRUCT ) */
-  *(int *) argp = (long)ecif->rvalue;
-
-  /* And 1 word for the  structure return value. */
-  argp += sizeof(int);
-
-#ifdef USING_PURIFY
-  /* Purify will probably complain in our assembly routine, unless we
-     zero out this memory. */
-
-  ((int*)argp)[0] = 0;
-  ((int*)argp)[1] = 0;
-  ((int*)argp)[2] = 0;
-  ((int*)argp)[3] = 0;
-  ((int*)argp)[4] = 0;
-  ((int*)argp)[5] = 0;
-#endif
-
-  p_argv = ecif->avalue;
-
-  for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; i; i--, p_arg++)
-    {
-      size_t z;
-
-         if ((*p_arg)->type == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-             || (*p_arg)->type == FFI_TYPE_LONGDOUBLE
-#endif
-             )
-           {
-             *(unsigned int *) argp = (unsigned long)(* p_argv);
-             z = sizeof(int);
-           }
-         else
-           {
-             z = (*p_arg)->size;
-             if (z < sizeof(int))
-               {
-                 z = sizeof(int);
-                 switch ((*p_arg)->type)
-                   {
-                   case FFI_TYPE_SINT8:
-                     *(signed int *) argp = *(SINT8 *)(* p_argv);
-                     break;
-                     
-                   case FFI_TYPE_UINT8:
-                     *(unsigned int *) argp = *(UINT8 *)(* p_argv);
-                     break;
-                     
-                   case FFI_TYPE_SINT16:
-                     *(signed int *) argp = *(SINT16 *)(* p_argv);
-                     break;
-                     
-                   case FFI_TYPE_UINT16:
-                     *(unsigned int *) argp = *(UINT16 *)(* p_argv);
-                     break;
-
-                   default:
-                     FFI_ASSERT(0);
-                   }
-               }
-             else
-               {
-                 memcpy(argp, *p_argv, z);
-               }
-           }
-         p_argv++;
-         argp += z;
-    }
-  
-  return;
-}
-
-int ffi_prep_args_v9(char *stack, extended_cif *ecif)
-{
-  int i, ret = 0;
-  int tmp;
-  void **p_argv;
-  char *argp;
-  ffi_type **p_arg;
-
-  tmp = 0;
-
-  /* Skip 16 words for the window save area */
-  argp = stack + 16*sizeof(long long);
-
-#ifdef USING_PURIFY
-  /* Purify will probably complain in our assembly routine, unless we
-     zero out this memory. */
-
-  ((long long*)argp)[0] = 0;
-  ((long long*)argp)[1] = 0;
-  ((long long*)argp)[2] = 0;
-  ((long long*)argp)[3] = 0;
-  ((long long*)argp)[4] = 0;
-  ((long long*)argp)[5] = 0;
-#endif
-
-  p_argv = ecif->avalue;
-
-  if (ecif->cif->rtype->type == FFI_TYPE_STRUCT &&
-      ecif->cif->rtype->size > 32)
-    {
-      *(unsigned long long *) argp = (unsigned long)ecif->rvalue;
-      argp += sizeof(long long);
-      tmp = 1;
-    }
-
-  for (i = 0, p_arg = ecif->cif->arg_types; i < ecif->cif->nargs;
-       i++, p_arg++)
-    {
-      size_t z;
-
-      z = (*p_arg)->size;
-      switch ((*p_arg)->type)
-       {
-       case FFI_TYPE_STRUCT:
-         if (z > 16)
-           {
-             /* For structures larger than 16 bytes we pass reference.  */
-             *(unsigned long long *) argp = (unsigned long)* p_argv;
-             argp += sizeof(long long);
-             tmp++;
-             p_argv++;
-             continue;
-           }
-         /* FALLTHROUGH */
-       case FFI_TYPE_FLOAT:
-       case FFI_TYPE_DOUBLE:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-#endif
-         ret = 1; /* We should promote into FP regs as well as integer.  */
-         break;
-       }
-      if (z < sizeof(long long))
-       {
-         switch ((*p_arg)->type)
-           {
-           case FFI_TYPE_SINT8:
-             *(signed long long *) argp = *(SINT8 *)(* p_argv);
-             break;
-
-           case FFI_TYPE_UINT8:
-             *(unsigned long long *) argp = *(UINT8 *)(* p_argv);
-             break;
-
-           case FFI_TYPE_SINT16:
-             *(signed long long *) argp = *(SINT16 *)(* p_argv);
-             break;
-
-           case FFI_TYPE_UINT16:
-             *(unsigned long long *) argp = *(UINT16 *)(* p_argv);
-             break;
-
-           case FFI_TYPE_SINT32:
-             *(signed long long *) argp = *(SINT32 *)(* p_argv);
-             break;
-
-           case FFI_TYPE_UINT32:
-             *(unsigned long long *) argp = *(UINT32 *)(* p_argv);
-             break;
-
-           case FFI_TYPE_FLOAT:
-             *(float *) (argp + 4) = *(FLOAT32 *)(* p_argv); /* Right justify */
-             break;
-
-           case FFI_TYPE_STRUCT:
-             memcpy(argp, *p_argv, z);
-             break;
-
-           default:
-             FFI_ASSERT(0);
-           }
-         z = sizeof(long long);
-         tmp++;
-       }
-      else if (z == sizeof(long long))
-       {
-         memcpy(argp, *p_argv, z);
-         z = sizeof(long long);
-         tmp++;
-       }
-      else
-       {
-         if ((tmp & 1) && (*p_arg)->alignment > 8)
-           {
-             tmp++;
-             argp += sizeof(long long);
-           }
-         memcpy(argp, *p_argv, z);
-         z = 2 * sizeof(long long);
-         tmp += 2;
-       }
-      p_argv++;
-      argp += z;
-    }
-
-  return ret;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
-  int wordsize;
-
-  if (cif->abi != FFI_V9)
-    {
-      wordsize = 4;
-
-      /* If we are returning a struct, this will already have been added.
-        Otherwise we need to add it because it's always got to be there! */
-
-      if (cif->rtype->type != FFI_TYPE_STRUCT)
-       cif->bytes += wordsize;
-
-      /* sparc call frames require that space is allocated for 6 args,
-        even if they aren't used. Make that space if necessary. */
-  
-      if (cif->bytes < 4*6+4)
-       cif->bytes = 4*6+4;
-    }
-  else
-    {
-      wordsize = 8;
-
-      /* sparc call frames require that space is allocated for 6 args,
-        even if they aren't used. Make that space if necessary. */
-  
-      if (cif->bytes < 8*6)
-       cif->bytes = 8*6;
-    }
-
-  /* Adjust cif->bytes. to include 16 words for the window save area,
-     and maybe the struct/union return pointer area, */
-
-  cif->bytes += 16 * wordsize;
-
-  /* The stack must be 2 word aligned, so round bytes up
-     appropriately. */
-
-  cif->bytes = ALIGN(cif->bytes, 2 * wordsize);
-
-  /* Set the return type flag */
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_VOID:
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-    case FFI_TYPE_LONGDOUBLE:
-#endif
-      cif->flags = cif->rtype->type;
-      break;
-
-    case FFI_TYPE_STRUCT:
-      if (cif->abi == FFI_V9 && cif->rtype->size > 32)
-       cif->flags = FFI_TYPE_VOID;
-      else
-       cif->flags = FFI_TYPE_STRUCT;
-      break;
-
-    case FFI_TYPE_SINT8:
-    case FFI_TYPE_UINT8:
-    case FFI_TYPE_SINT16:
-    case FFI_TYPE_UINT16:
-      if (cif->abi == FFI_V9)
-       cif->flags = FFI_TYPE_INT;
-      else
-       cif->flags = cif->rtype->type;
-      break;
-
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_UINT64:
-      if (cif->abi == FFI_V9)
-       cif->flags = FFI_TYPE_INT;
-      else
-       cif->flags = FFI_TYPE_SINT64;
-      break;
-
-    default:
-      cif->flags = FFI_TYPE_INT;
-      break;
-    }
-  return FFI_OK;
-}
-
-int ffi_v9_layout_struct(ffi_type *arg, int off, char *ret, char *intg, char *flt)
-{
-  ffi_type **ptr = &arg->elements[0];
-
-  while (*ptr != NULL)
-    {
-      if (off & ((*ptr)->alignment - 1))
-       off = ALIGN(off, (*ptr)->alignment);
-
-      switch ((*ptr)->type)
-       {
-       case FFI_TYPE_STRUCT:
-         off = ffi_v9_layout_struct(*ptr, off, ret, intg, flt);
-         off = ALIGN(off, FFI_SIZEOF_ARG);
-         break;
-       case FFI_TYPE_FLOAT:
-       case FFI_TYPE_DOUBLE:
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-       case FFI_TYPE_LONGDOUBLE:
-#endif
-         memmove(ret + off, flt + off, (*ptr)->size);
-         off += (*ptr)->size;
-         break;
-       default:
-         memmove(ret + off, intg + off, (*ptr)->size);
-         off += (*ptr)->size;
-         break;
-       }
-      ptr++;
-    }
-  return off;
-}
-
-
-#ifdef SPARC64
-extern int ffi_call_v9(void *, extended_cif *, unsigned, 
-                      unsigned, unsigned *, void (*fn)(void));
-#else
-extern int ffi_call_v8(void *, extended_cif *, unsigned, 
-                      unsigned, unsigned *, void (*fn)(void));
-#endif
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-  void *rval = rvalue;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  /* If the return value is a struct and we don't have a return        */
-  /* value address then we need to make one                    */
-
-  ecif.rvalue = rvalue;
-  if (cif->rtype->type == FFI_TYPE_STRUCT)
-    {
-      if (cif->rtype->size <= 32)
-       rval = alloca(64);
-      else
-       {
-         rval = NULL;
-         if (rvalue == NULL)
-           ecif.rvalue = alloca(cif->rtype->size);
-       }
-    }
-
-  switch (cif->abi) 
-    {
-    case FFI_V8:
-#ifdef SPARC64
-      /* We don't yet support calling 32bit code from 64bit */
-      FFI_ASSERT(0);
-#else
-      ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes, 
-                 cif->flags, rvalue, fn);
-#endif
-      break;
-    case FFI_V9:
-#ifdef SPARC64
-      ffi_call_v9(ffi_prep_args_v9, &ecif, cif->bytes,
-                 cif->flags, rval, fn);
-      if (rvalue && rval && cif->rtype->type == FFI_TYPE_STRUCT)
-       ffi_v9_layout_struct(cif->rtype, 0, (char *)rvalue, (char *)rval, ((char *)rval)+32);
-#else
-      /* And vice versa */
-      FFI_ASSERT(0);
-#endif
-      break;
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-
-}
-
-
-#ifdef SPARC64
-extern void ffi_closure_v9(void);
-#else
-extern void ffi_closure_v8(void);
-#endif
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif*, void*, void**, void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  unsigned int *tramp = (unsigned int *) &closure->tramp[0];
-  unsigned long fn;
-#ifdef SPARC64
-  /* Trampoline address is equal to the closure address.  We take advantage
-     of that to reduce the trampoline size by 8 bytes. */
-  FFI_ASSERT (cif->abi == FFI_V9);
-  fn = (unsigned long) ffi_closure_v9;
-  tramp[0] = 0x83414000;       /* rd   %pc, %g1        */
-  tramp[1] = 0xca586010;       /* ldx  [%g1+16], %g5   */
-  tramp[2] = 0x81c14000;       /* jmp  %g5             */
-  tramp[3] = 0x01000000;       /* nop                  */
-  *((unsigned long *) &tramp[4]) = fn;
-#else
-  unsigned long ctx = (unsigned long) codeloc;
-  FFI_ASSERT (cif->abi == FFI_V8);
-  fn = (unsigned long) ffi_closure_v8;
-  tramp[0] = 0x03000000 | fn >> 10;    /* sethi %hi(fn), %g1   */
-  tramp[1] = 0x05000000 | ctx >> 10;   /* sethi %hi(ctx), %g2  */
-  tramp[2] = 0x81c06000 | (fn & 0x3ff);        /* jmp   %g1+%lo(fn)    */
-  tramp[3] = 0x8410a000 | (ctx & 0x3ff);/* or    %g2, %lo(ctx) */
-#endif
-
-  closure->cif = cif;
-  closure->fun = fun;
-  closure->user_data = user_data;
-
-  /* Flush the Icache.  FIXME: alignment isn't certain, assume 8 bytes */
-#ifdef SPARC64
-  asm volatile ("flush %0" : : "r" (closure) : "memory");
-  asm volatile ("flush %0" : : "r" (((char *) closure) + 8) : "memory");
-#else
-  asm volatile ("iflush        %0" : : "r" (closure) : "memory");
-  asm volatile ("iflush        %0" : : "r" (((char *) closure) + 8) : "memory");
-#endif
-
-  return FFI_OK;
-}
-
-int
-ffi_closure_sparc_inner_v8(ffi_closure *closure,
-  void *rvalue, unsigned long *gpr, unsigned long *scratch)
-{
-  ffi_cif *cif;
-  ffi_type **arg_types;
-  void **avalue;
-  int i, argn;
-
-  cif = closure->cif;
-  arg_types = cif->arg_types;
-  avalue = alloca(cif->nargs * sizeof(void *));
-
-  /* Copy the caller's structure return address so that the closure
-     returns the data directly to the caller.  */
-  if (cif->flags == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE  
-      || cif->flags == FFI_TYPE_LONGDOUBLE
-#endif
-     )
-    rvalue = (void *) gpr[0];
-
-  /* Always skip the structure return address.  */
-  argn = 1;
-
-  /* Grab the addresses of the arguments from the stack frame.  */
-  for (i = 0; i < cif->nargs; i++)
-    {
-      if (arg_types[i]->type == FFI_TYPE_STRUCT
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         || arg_types[i]->type == FFI_TYPE_LONGDOUBLE
-#endif
-         )
-       {
-         /* Straight copy of invisible reference.  */
-         avalue[i] = (void *)gpr[argn++];
-       }
-      else if ((arg_types[i]->type == FFI_TYPE_DOUBLE
-              || arg_types[i]->type == FFI_TYPE_SINT64
-              || arg_types[i]->type == FFI_TYPE_UINT64)
-              /* gpr is 8-byte aligned.  */
-              && (argn % 2) != 0)
-       {
-         /* Align on a 8-byte boundary.  */
-         scratch[0] = gpr[argn];
-         scratch[1] = gpr[argn+1];
-         avalue[i] = scratch;
-         scratch -= 2;
-         argn += 2;
-       }
-      else
-       {
-         /* Always right-justify.  */
-         argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-         avalue[i] = ((char *) &gpr[argn]) - arg_types[i]->size;
-       }
-    }
-
-  /* Invoke the closure.  */
-  (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell ffi_closure_sparc how to perform return type promotions.  */
-  return cif->rtype->type;
-}
-
-int
-ffi_closure_sparc_inner_v9(ffi_closure *closure,
-  void *rvalue, unsigned long *gpr, double *fpr)
-{
-  ffi_cif *cif;
-  ffi_type **arg_types;
-  void **avalue;
-  int i, argn, fp_slot_max;
-
-  cif = closure->cif;
-  arg_types = cif->arg_types;
-  avalue = alloca(cif->nargs * sizeof(void *));
-
-  /* Copy the caller's structure return address so that the closure
-     returns the data directly to the caller.  */
-  if (cif->flags == FFI_TYPE_VOID
-      && cif->rtype->type == FFI_TYPE_STRUCT)
-    {
-      rvalue = (void *) gpr[0];
-      /* Skip the structure return address.  */
-      argn = 1;
-    }
-  else
-    argn = 0;
-
-  fp_slot_max = 16 - argn;
-
-  /* Grab the addresses of the arguments from the stack frame.  */
-  for (i = 0; i < cif->nargs; i++)
-    {
-      if (arg_types[i]->type == FFI_TYPE_STRUCT)
-       {
-         if (arg_types[i]->size > 16)
-           {
-             /* Straight copy of invisible reference.  */
-             avalue[i] = (void *)gpr[argn++];
-           }
-         else
-           {
-             /* Left-justify.  */
-             ffi_v9_layout_struct(arg_types[i],
-                                  0,
-                                  (char *) &gpr[argn],
-                                  (char *) &gpr[argn],
-                                  (char *) &fpr[argn]);
-             avalue[i] = &gpr[argn];
-             argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-           }
-       }
-      else
-       {
-         /* Right-justify.  */
-         argn += ALIGN(arg_types[i]->size, FFI_SIZEOF_ARG) / FFI_SIZEOF_ARG;
-
-         /* Align on a 16-byte boundary.  */
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-         if (arg_types[i]->type == FFI_TYPE_LONGDOUBLE && (argn % 2) != 0)
-           argn++;
-#endif
-         if (i < fp_slot_max
-             && (arg_types[i]->type == FFI_TYPE_FLOAT
-                 || arg_types[i]->type == FFI_TYPE_DOUBLE
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-                 || arg_types[i]->type == FFI_TYPE_LONGDOUBLE
-#endif
-                 ))
-           avalue[i] = ((char *) &fpr[argn]) - arg_types[i]->size;
-         else
-           avalue[i] = ((char *) &gpr[argn]) - arg_types[i]->size;
-       }
-    }
-
-  /* Invoke the closure.  */
-  (closure->fun) (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell ffi_closure_sparc how to perform return type promotions.  */
-  return cif->rtype->type;
-}
diff --git a/.pc/stand-alone/LICENSE b/.pc/stand-alone/LICENSE
deleted file mode 100644 (file)
index f591795..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-libffi - Copyright (c) 1996-2003  Red Hat, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-``Software''), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
index 58c037d..23e002e 100644 (file)
@@ -30,8 +30,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
        src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
        src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
        src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
-       src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
-       src/moxie/ffi.c src/moxie/eabi.S
+       src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c
 
 ## ################################################################
 
@@ -77,6 +76,9 @@ AM_MAKEFLAGS = \
        "RANLIB=$(RANLIB)" \
        "DESTDIR=$(DESTDIR)"
 
+# Subdir rules rely on $(FLAGS_TO_PASS)
+FLAGS_TO_PASS = $(AM_MAKEFLAGS)
+
 MAKEOVERRIDES=
 
 toolexeclib_LTLIBRARIES = libffi.la
@@ -144,9 +146,6 @@ endif
 if FRV
 nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
 endif
-if MOXIE
-nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
-endif
 if S390
 nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
 endif
similarity index 99%
rename from .pc/debug-build/Makefile.in
rename to .pc/stand-alone/Makefile.in
index 3ac6d29..74ee537 100644 (file)
@@ -455,6 +455,9 @@ AM_MAKEFLAGS = \
        "RANLIB=$(RANLIB)" \
        "DESTDIR=$(DESTDIR)"
 
+
+# Subdir rules rely on $(FLAGS_TO_PASS)
+FLAGS_TO_PASS = $(AM_MAKEFLAGS)
 MAKEOVERRIDES = 
 toolexeclib_LTLIBRARIES = libffi.la
 noinst_LTLIBRARIES = libffi_convenience.la
diff --git a/.pc/stand-alone/README b/.pc/stand-alone/README
deleted file mode 100644 (file)
index 3e3ab3f..0000000
+++ /dev/null
@@ -1,324 +0,0 @@
-This directory contains the libffi package, which is not part of GCC but
-shipped with GCC as convenience.
-
-Status
-======
-
-libffi-3.0.9 was released on December 31, 2009. Check the libffi web
-page for updates: <URL:http://sourceware.org/libffi/>.
-
-
-What is libffi?
-===============
-
-Compilers for high level languages generate code that follow certain
-conventions. These conventions are necessary, in part, for separate
-compilation to work. One such convention is the "calling
-convention". The "calling convention" is essentially a set of
-assumptions made by the compiler about where function arguments will
-be found on entry to a function. A "calling convention" also specifies
-where the return value for a function is found.
-
-Some programs may not know at the time of compilation what arguments
-are to be passed to a function. For instance, an interpreter may be
-told at run-time about the number and types of arguments used to call
-a given function. Libffi can be used in such programs to provide a
-bridge from the interpreter program to compiled code.
-
-The libffi library provides a portable, high level programming
-interface to various calling conventions. This allows a programmer to
-call any function specified by a call interface description at run
-time.  
-
-FFI stands for Foreign Function Interface.  A foreign function
-interface is the popular name for the interface that allows code
-written in one language to call code written in another language. The
-libffi library really only provides the lowest, machine dependent
-layer of a fully featured foreign function interface. A layer must
-exist above libffi that handles type conversions for values passed
-between the two languages.
-
-
-Supported Platforms
-===================
-
-Libffi has been ported to many different platforms.
-For specific configuration details and testing status, please
-refer to the wiki page here:
-
- http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.9
-
-At the time of release, the following basic configurations have been
-tested:
-
-|--------------+------------------|
-| Architecture | Operating System |
-|--------------+------------------|
-| Alpha        | Linux            |
-| ARM          | Linux            |
-| AVR32        | Linux            |
-| HPPA         | HPUX             |
-| IA-64        | Linux            |
-| MIPS         | IRIX             |
-| MIPS         | Linux            |
-| MIPS64       | Linux            |
-| PowerPC      | Linux            |
-| PowerPC      | Mac OSX          |
-| PowerPC      | FreeBSD          |
-| PowerPC64    | Linux            |
-| S390         | Linux            |
-| S390X        | Linux            |
-| SPARC        | Linux            |
-| SPARC        | Solaris          |
-| SPARC64      | Linux            |
-| SPARC64      | FreeBSD          |
-| X86          | FreeBSD          |
-| X86          | kFreeBSD         |
-| X86          | Linux            |
-| X86          | Mac OSX          |
-| X86          | OpenBSD          |
-| X86          | OS/2             |
-| X86          | Solaris          |
-| X86          | Windows/Cygwin   |
-| X86          | Windows/MingW    |
-| X86-64       | FreeBSD          |
-| X86-64       | Linux            |
-| X86-64       | OpenBSD          |
-|--------------+------------------|
-
-Please send additional platform test results to
-libffi-discuss@sourceware.org and feel free to update the wiki page
-above.
-
-Installing libffi
-=================
-
-First you must configure the distribution for your particular
-system. Go to the directory you wish to build libffi in and run the
-"configure" program found in the root directory of the libffi source
-distribution.
-
-You may want to tell configure where to install the libffi library and
-header files. To do that, use the --prefix configure switch.  Libffi
-will install under /usr/local by default. 
-
-If you want to enable extra run-time debugging checks use the the
---enable-debug configure switch. This is useful when your program dies
-mysteriously while using libffi. 
-
-Another useful configure switch is --enable-purify-safety. Using this
-will add some extra code which will suppress certain warnings when you
-are using Purify with libffi. Only use this switch when using 
-Purify, as it will slow down the library.
-
-It's also possible to build libffi on Windows platforms with
-Microsoft's Visual C++ compiler.  In this case, use the msvcc.sh
-wrapper script during configuration like so:
-
-path/to/configure --enable-shared --enable-static \
-       CC=path/to/msvcc.sh LD=link \
-       CPP=\"cl -nologo -EP\"
-
-Configure has many other options. Use "configure --help" to see them all.
-
-Once configure has finished, type "make". Note that you must be using
-GNU make.  You can ftp GNU make from prep.ai.mit.edu:/pub/gnu.
-
-To ensure that libffi is working as advertised, type "make check".
-This will require that you have DejaGNU installed.
-
-To install the library and header files, type "make install".
-
-
-History
-=======
-
-See the ChangeLog files for details.
-
-3.0.10 ???-??-??
-       Fix the N64 build on mips-sgi-irix6.5.
-       Testsuite fixes for Tru64 Unix.
-       Enable builds with Microsoft's compiler.
-       Enable x86 builds with Sun's compiler.
-
-3.0.9 Dec-31-09
-        Add AVR32 and win64 ports.  Add ARM softfp support.
-       Many fixes for AIX, Solaris, HP-UX, *BSD.
-       Several PowerPC and x86-64 bug fixes.
-       Build DLL for windows.
-
-3.0.8 Dec-19-08
-        Add *BSD, BeOS, and PA-Linux support.
-
-3.0.7 Nov-11-08
-        Fix for ppc FreeBSD.
-       (thanks to Andreas Tobler)
-
-3.0.6 Jul-17-08
-        Fix for closures on sh.
-       Mark the sh/sh64 stack as non-executable.
-       (both thanks to Kaz Kojima)
-
-3.0.5 Apr-3-08
-        Fix libffi.pc file.
-       Fix #define ARM for IcedTea users.
-       Fix x86 closure bug.
-
-3.0.4 Feb-24-08
-        Fix x86 OpenBSD configury.
-
-3.0.3 Feb-22-08
-        Enable x86 OpenBSD thanks to Thomas Heller, and
-       x86-64 FreeBSD thanks to Björn König and Andreas Tobler.
-       Clean up test instruction in README.
-
-3.0.2 Feb-21-08
-        Improved x86 FreeBSD support.
-       Thanks to Björn König.
-
-3.0.1 Feb-15-08
-        Fix instruction cache flushing bug on MIPS.
-       Thanks to David Daney.
-
-3.0.0 Feb-15-08
-        Many changes, mostly thanks to the GCC project.
-       Cygnus Solutions is now Red Hat.
-
-  [10 years go by...]
-
-1.20 Oct-5-98
-       Raffaele Sena produces ARM port.
-
-1.19 Oct-5-98
-       Fixed x86 long double and long long return support.
-       m68k bug fixes from Andreas Schwab.
-       Patch for DU assembler compatibility for the Alpha from Richard
-       Henderson.
-
-1.18 Apr-17-98
-       Bug fixes and MIPS configuration changes.
-
-1.17 Feb-24-98
-       Bug fixes and m68k port from Andreas Schwab. PowerPC port from
-       Geoffrey Keating. Various bug x86, Sparc and MIPS bug fixes.
-
-1.16 Feb-11-98
-       Richard Henderson produces Alpha port.
-
-1.15 Dec-4-97
-       Fixed an n32 ABI bug. New libtool, auto* support.
-
-1.14 May-13-97
-       libtool is now used to generate shared and static libraries.
-       Fixed a minor portability problem reported by Russ McManus
-       <mcmanr@eq.gs.com>.
-
-1.13 Dec-2-96
-       Added --enable-purify-safety to keep Purify from complaining
-       about certain low level code.
-       Sparc fix for calling functions with < 6 args.
-       Linux x86 a.out fix.
-
-1.12 Nov-22-96
-       Added missing ffi_type_void, needed for supporting void return 
-       types. Fixed test case for non MIPS machines. Cygnus Support 
-       is now Cygnus Solutions. 
-
-1.11 Oct-30-96
-       Added notes about GNU make.
-
-1.10 Oct-29-96
-       Added configuration fix for non GNU compilers.
-
-1.09 Oct-29-96
-       Added --enable-debug configure switch. Clean-ups based on LCLint 
-       feedback. ffi_mips.h is always installed. Many configuration 
-       fixes. Fixed ffitest.c for sparc builds.
-
-1.08 Oct-15-96
-       Fixed n32 problem. Many clean-ups.
-
-1.07 Oct-14-96
-       Gordon Irlam rewrites v8.S again. Bug fixes.
-
-1.06 Oct-14-96
-       Gordon Irlam improved the sparc port. 
-
-1.05 Oct-14-96
-       Interface changes based on feedback.
-
-1.04 Oct-11-96
-       Sparc port complete (modulo struct passing bug).
-
-1.03 Oct-10-96
-       Passing struct args, and returning struct values works for
-       all architectures/calling conventions. Expanded tests.
-
-1.02 Oct-9-96
-       Added SGI n32 support. Fixed bugs in both o32 and Linux support.
-       Added "make test".
-
-1.01 Oct-8-96
-       Fixed float passing bug in mips version. Restructured some
-       of the code. Builds cleanly with SGI tools.
-
-1.00 Oct-7-96
-       First release. No public announcement.
-
-
-Authors & Credits
-=================
-
-libffi was originally written by Anthony Green <green@redhat.com>.
-
-The developers of the GNU Compiler Collection project have made
-innumerable valuable contributions.  See the ChangeLog file for
-details.
-
-Some of the ideas behind libffi were inspired by Gianni Mariani's free
-gencall library for Silicon Graphics machines.
-
-The closure mechanism was designed and implemented by Kresten Krab
-Thorup.
-
-Major processor architecture ports were contributed by the following
-developers:
-
-alpha          Richard Henderson
-arm            Raffaele Sena
-cris           Simon Posnjak, Hans-Peter Nilsson
-frv            Anthony Green
-ia64           Hans Boehm
-m32r           Kazuhiro Inaoka
-m68k           Andreas Schwab
-mips           Anthony Green, Casey Marshall
-mips64         David Daney
-pa             Randolph Chung, Dave Anglin, Andreas Tobler
-powerpc                Geoffrey Keating, Andreas Tobler, 
-                        David Edelsohn, John Hornkvist
-powerpc64      Jakub Jelinek
-s390           Gerhard Tonn, Ulrich Weigand
-sh             Kaz Kojima
-sh64           Kaz Kojima
-sparc          Anthony Green, Gordon Irlam
-x86            Anthony Green, Jon Beniston
-x86-64         Bo Thorsen
-
-Jesper Skov and Andrew Haley both did more than their fair share of
-stepping through the code and tracking down bugs.
-
-Thanks also to Tom Tromey for bug fixes, documentation and
-configuration help.
-
-Thanks to Jim Blandy, who provided some useful feedback on the libffi
-interface.
-
-Andreas Tobler has done a tremendous amount of work on the testsuite.
-
-Alex Oliva solved the executable page problem for SElinux.
-
-The list above is almost certainly incomplete and inaccurate.  I'm
-happy to make corrections or additions upon request.
-
-If you have a problem, or have found a bug, please send a note to
-green@redhat.com.
diff --git a/.pc/stand-alone/config.guess b/.pc/stand-alone/config.guess
new file mode 100755 (executable)
index 0000000..dc84c68
--- /dev/null
@@ -0,0 +1,1501 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+#   Free Software Foundation, Inc.
+
+timestamp='2009-11-20'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner.  Please send patches (context
+# diff format) to <config-patches@gnu.org> and include a ChangeLog
+# entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )        # Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+       for c in cc gcc c89 c99 ; do
+         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+            CC_FOR_BUILD="$c"; break ;
+         fi ;
+       done ;
+       if test x"$CC_FOR_BUILD" = x ; then
+         CC_FOR_BUILD=no_compiler_found ;
+       fi
+       ;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+       PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+       # NetBSD (nbsd) targets should (where applicable) match one or
+       # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+       # switched to ELF, *-*-netbsd* would select the old
+       # object file format.  This provides both forward
+       # compatibility and a consistent mechanism for selecting the
+       # object file format.
+       #
+       # Note: NetBSD doesn't particularly care about the vendor
+       # portion of the name.  We always set it to "unknown".
+       sysctl="sysctl -n hw.machine_arch"
+       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+       case "${UNAME_MACHINE_ARCH}" in
+           armeb) machine=armeb-unknown ;;
+           arm*) machine=arm-unknown ;;
+           sh3el) machine=shl-unknown ;;
+           sh3eb) machine=sh-unknown ;;
+           sh5el) machine=sh5le-unknown ;;
+           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+       esac
+       # The Operating System including object format, if it has switched
+       # to ELF recently, or will in the future.
+       case "${UNAME_MACHINE_ARCH}" in
+           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+               eval $set_cc_for_build
+               if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+                       | grep -q __ELF__
+               then
+                   # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+                   # Return netbsd for either.  FIX?
+                   os=netbsd
+               else
+                   os=netbsdelf
+               fi
+               ;;
+           *)
+               os=netbsd
+               ;;
+       esac
+       # The OS release
+       # Debian GNU/NetBSD machines have a different userland, and
+       # thus, need a distinct triplet. However, they do not need
+       # kernel version information, so it can be replaced with a
+       # suitable tag, in the style of linux-gnu.
+       case "${UNAME_VERSION}" in
+           Debian*)
+               release='-gnu'
+               ;;
+           *)
+               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+               ;;
+       esac
+       # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+       # contains redundant information, the shorter form:
+       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+       echo "${machine}-${os}${release}"
+       exit ;;
+    *:OpenBSD:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+       exit ;;
+    *:ekkoBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+       exit ;;
+    *:SolidBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+       exit ;;
+    macppc:MirBSD:*:*)
+       echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+       exit ;;
+    *:MirBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+       exit ;;
+    alpha:OSF1:*:*)
+       case $UNAME_RELEASE in
+       *4.0)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+               ;;
+       *5.*)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+               ;;
+       esac
+       # According to Compaq, /usr/sbin/psrinfo has been available on
+       # OSF/1 and Tru64 systems produced since 1995.  I hope that
+       # covers most systems running today.  This code pipes the CPU
+       # types through head -n 1, so we only detect the type of CPU 0.
+       ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+       case "$ALPHA_CPU_TYPE" in
+           "EV4 (21064)")
+               UNAME_MACHINE="alpha" ;;
+           "EV4.5 (21064)")
+               UNAME_MACHINE="alpha" ;;
+           "LCA4 (21066/21068)")
+               UNAME_MACHINE="alpha" ;;
+           "EV5 (21164)")
+               UNAME_MACHINE="alphaev5" ;;
+           "EV5.6 (21164A)")
+               UNAME_MACHINE="alphaev56" ;;
+           "EV5.6 (21164PC)")
+               UNAME_MACHINE="alphapca56" ;;
+           "EV5.7 (21164PC)")
+               UNAME_MACHINE="alphapca57" ;;
+           "EV6 (21264)")
+               UNAME_MACHINE="alphaev6" ;;
+           "EV6.7 (21264A)")
+               UNAME_MACHINE="alphaev67" ;;
+           "EV6.8CB (21264C)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.8AL (21264B)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.8CX (21264D)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.9A (21264/EV69A)")
+               UNAME_MACHINE="alphaev69" ;;
+           "EV7 (21364)")
+               UNAME_MACHINE="alphaev7" ;;
+           "EV7.9 (21364A)")
+               UNAME_MACHINE="alphaev79" ;;
+       esac
+       # A Pn.n version is a patched version.
+       # A Vn.n version is a released version.
+       # A Tn.n version is a released field test version.
+       # A Xn.n version is an unreleased experimental baselevel.
+       # 1.2 uses "1.2" for uname -r.
+       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+       exit ;;
+    Alpha\ *:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # Should we change UNAME_MACHINE based on the output of uname instead
+       # of the specific Alpha model?
+       echo alpha-pc-interix
+       exit ;;
+    21064:Windows_NT:50:3)
+       echo alpha-dec-winnt3.5
+       exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+       echo m68k-unknown-sysv4
+       exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+       echo ${UNAME_MACHINE}-unknown-amigaos
+       exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+       echo ${UNAME_MACHINE}-unknown-morphos
+       exit ;;
+    *:OS/390:*:*)
+       echo i370-ibm-openedition
+       exit ;;
+    *:z/VM:*:*)
+       echo s390-ibm-zvmoe
+       exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+       exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+       echo arm-acorn-riscix${UNAME_RELEASE}
+       exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+       echo arm-unknown-riscos
+       exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+       echo hppa1.1-hitachi-hiuxmpp
+       exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+       # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+       if test "`(/bin/universe) 2>/dev/null`" = att ; then
+               echo pyramid-pyramid-sysv3
+       else
+               echo pyramid-pyramid-bsd
+       fi
+       exit ;;
+    NILE*:*:*:dcosx)
+       echo pyramid-pyramid-svr4
+       exit ;;
+    DRS?6000:unix:4.0:6*)
+       echo sparc-icl-nx6
+       exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+       case `/usr/bin/uname -p` in
+           sparc) echo sparc-icl-nx7; exit ;;
+       esac ;;
+    s390x:SunOS:*:*)
+       echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4H:SunOS:5.*:*)
+       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+       echo i386-pc-auroraux${UNAME_RELEASE}
+       exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+       eval $set_cc_for_build
+       SUN_ARCH="i386"
+       # If there is a compiler, see if it is configured for 64-bit objects.
+       # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+       # This test works for both compilers.
+       if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+           if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+               (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+               grep IS_64BIT_ARCH >/dev/null
+           then
+               SUN_ARCH="x86_64"
+           fi
+       fi
+       echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4*:SunOS:6*:*)
+       # According to config.sub, this is the proper way to canonicalize
+       # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+       # it's likely to be more like Solaris than SunOS4.
+       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4*:SunOS:*:*)
+       case "`/usr/bin/arch -k`" in
+           Series*|S4*)
+               UNAME_RELEASE=`uname -v`
+               ;;
+       esac
+       # Japanese Language versions have a version number like `4.1.3-JL'.
+       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+       exit ;;
+    sun3*:SunOS:*:*)
+       echo m68k-sun-sunos${UNAME_RELEASE}
+       exit ;;
+    sun*:*:4.2BSD:*)
+       UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+       case "`/bin/arch`" in
+           sun3)
+               echo m68k-sun-sunos${UNAME_RELEASE}
+               ;;
+           sun4)
+               echo sparc-sun-sunos${UNAME_RELEASE}
+               ;;
+       esac
+       exit ;;
+    aushp:SunOS:*:*)
+       echo sparc-auspex-sunos${UNAME_RELEASE}
+       exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+       exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+       echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+       exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+       echo m68k-apple-machten${UNAME_RELEASE}
+       exit ;;
+    powerpc:machten:*:*)
+       echo powerpc-apple-machten${UNAME_RELEASE}
+       exit ;;
+    RISC*:Mach:*:*)
+       echo mips-dec-mach_bsd4.3
+       exit ;;
+    RISC*:ULTRIX:*:*)
+       echo mips-dec-ultrix${UNAME_RELEASE}
+       exit ;;
+    VAX*:ULTRIX*:*:*)
+       echo vax-dec-ultrix${UNAME_RELEASE}
+       exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+       echo clipper-intergraph-clix${UNAME_RELEASE}
+       exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+       int main (int argc, char *argv[]) {
+#else
+       int main (argc, argv) int argc; char *argv[]; {
+#endif
+       #if defined (host_mips) && defined (MIPSEB)
+       #if defined (SYSTYPE_SYSV)
+         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+       #endif
+       #if defined (SYSTYPE_SVR4)
+         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+       #endif
+       #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+       #endif
+       #endif
+         exit (-1);
+       }
+EOF
+       $CC_FOR_BUILD -o $dummy $dummy.c &&
+         dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+         SYSTEM_NAME=`$dummy $dummyarg` &&
+           { echo "$SYSTEM_NAME"; exit; }
+       echo mips-mips-riscos${UNAME_RELEASE}
+       exit ;;
+    Motorola:PowerMAX_OS:*:*)
+       echo powerpc-motorola-powermax
+       exit ;;
+    Motorola:*:4.3:PL8-*)
+       echo powerpc-harris-powermax
+       exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+       echo powerpc-harris-powermax
+       exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+       echo powerpc-harris-powerunix
+       exit ;;
+    m88k:CX/UX:7*:*)
+       echo m88k-harris-cxux7
+       exit ;;
+    m88k:*:4*:R4*)
+       echo m88k-motorola-sysv4
+       exit ;;
+    m88k:*:3*:R3*)
+       echo m88k-motorola-sysv3
+       exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+       then
+           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+              [ ${TARGET_BINARY_INTERFACE}x = x ]
+           then
+               echo m88k-dg-dgux${UNAME_RELEASE}
+           else
+               echo m88k-dg-dguxbcs${UNAME_RELEASE}
+           fi
+       else
+           echo i586-dg-dgux${UNAME_RELEASE}
+       fi
+       exit ;;
+    M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
+       echo m88k-dolphin-sysv3
+       exit ;;
+    M88*:*:R3*:*)
+       # Delta 88k system running SVR3
+       echo m88k-motorola-sysv3
+       exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+       echo m88k-tektronix-sysv3
+       exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+       echo m68k-tektronix-bsd
+       exit ;;
+    *:IRIX*:*:*)
+       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+       exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+       echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+       exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+       echo i386-ibm-aix
+       exit ;;
+    ia64:AIX:*:*)
+       if [ -x /usr/bin/oslevel ] ; then
+               IBM_REV=`/usr/bin/oslevel`
+       else
+               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+       fi
+       echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+       exit ;;
+    *:AIX:2:3)
+       if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+               eval $set_cc_for_build
+               sed 's/^                //' << EOF >$dummy.c
+               #include <sys/systemcfg.h>
+
+               main()
+                       {
+                       if (!__power_pc())
+                               exit(1);
+                       puts("powerpc-ibm-aix3.2.5");
+                       exit(0);
+                       }
+EOF
+               if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+               then
+                       echo "$SYSTEM_NAME"
+               else
+                       echo rs6000-ibm-aix3.2.5
+               fi
+       elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+               echo rs6000-ibm-aix3.2.4
+       else
+               echo rs6000-ibm-aix3.2
+       fi
+       exit ;;
+    *:AIX:*:[456])
+       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+               IBM_ARCH=rs6000
+       else
+               IBM_ARCH=powerpc
+       fi
+       if [ -x /usr/bin/oslevel ] ; then
+               IBM_REV=`/usr/bin/oslevel`
+       else
+               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+       fi
+       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+       exit ;;
+    *:AIX:*:*)
+       echo rs6000-ibm-aix
+       exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+       echo romp-ibm-bsd4.4
+       exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+       exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+       echo rs6000-bull-bosx
+       exit ;;
+    DPX/2?00:B.O.S.:*:*)
+       echo m68k-bull-sysv3
+       exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+       echo m68k-hp-bsd
+       exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+       echo m68k-hp-bsd4.4
+       exit ;;
+    9000/[34678]??:HP-UX:*:*)
+       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       case "${UNAME_MACHINE}" in
+           9000/31? )            HP_ARCH=m68000 ;;
+           9000/[34]?? )         HP_ARCH=m68k ;;
+           9000/[678][0-9][0-9])
+               if [ -x /usr/bin/getconf ]; then
+                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+               fi
+               if [ "${HP_ARCH}" = "" ]; then
+                   eval $set_cc_for_build
+                   sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+               {
+               case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+               case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+               case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+                   switch (bits)
+                       {
+                       case 64: puts ("hppa2.0w"); break;
+                       case 32: puts ("hppa2.0n"); break;
+                       default: puts ("hppa2.0"); break;
+                       } break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+                   puts ("hppa2.0"); break;
+              #endif
+               default: puts ("hppa1.0"); break;
+               }
+                  exit (0);
+              }
+EOF
+                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+                   test -z "$HP_ARCH" && HP_ARCH=hppa
+               fi ;;
+       esac
+       if [ ${HP_ARCH} = "hppa2.0w" ]
+       then
+           eval $set_cc_for_build
+
+           # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+           # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+           # generating 64-bit code.  GNU and HP use different nomenclature:
+           #
+           # $ CC_FOR_BUILD=cc ./config.guess
+           # => hppa2.0w-hp-hpux11.23
+           # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+           # => hppa64-hp-hpux11.23
+
+           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+               grep -q __LP64__
+           then
+               HP_ARCH="hppa2.0w"
+           else
+               HP_ARCH="hppa64"
+           fi
+       fi
+       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+       exit ;;
+    ia64:HP-UX:*:*)
+       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       echo ia64-hp-hpux${HPUX_REV}
+       exit ;;
+    3050*:HI-UX:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #include <unistd.h>
+       int
+       main ()
+       {
+         long cpu = sysconf (_SC_CPU_VERSION);
+         /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+            true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+            results, however.  */
+         if (CPU_IS_PA_RISC (cpu))
+           {
+             switch (cpu)
+               {
+                 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+                 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+                 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+                 default: puts ("hppa-hitachi-hiuxwe2"); break;
+               }
+           }
+         else if (CPU_IS_HP_MC68K (cpu))
+           puts ("m68k-hitachi-hiuxwe2");
+         else puts ("unknown-hitachi-hiuxwe2");
+         exit (0);
+       }
+EOF
+       $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+               { echo "$SYSTEM_NAME"; exit; }
+       echo unknown-hitachi-hiuxwe2
+       exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+       echo hppa1.1-hp-bsd
+       exit ;;
+    9000/8??:4.3bsd:*:*)
+       echo hppa1.0-hp-bsd
+       exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+       echo hppa1.0-hp-mpeix
+       exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+       echo hppa1.1-hp-osf
+       exit ;;
+    hp8??:OSF1:*:*)
+       echo hppa1.0-hp-osf
+       exit ;;
+    i*86:OSF1:*:*)
+       if [ -x /usr/sbin/sysversion ] ; then
+           echo ${UNAME_MACHINE}-unknown-osf1mk
+       else
+           echo ${UNAME_MACHINE}-unknown-osf1
+       fi
+       exit ;;
+    parisc*:Lites*:*:*)
+       echo hppa1.1-hp-lites
+       exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+       echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+       echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+       echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+       echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*[A-Z]90:*:*:*)
+       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+       | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+             -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*TS:*:*:*)
+       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*T3E:*:*:*)
+       echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*SV1:*:*:*)
+       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    *:UNICOS/mp:*:*)
+       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+       exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+       exit ;;
+    sparc*:BSD/OS:*:*)
+       echo sparc-unknown-bsdi${UNAME_RELEASE}
+       exit ;;
+    *:BSD/OS:*:*)
+       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+       exit ;;
+    *:FreeBSD:*:*)
+       case ${UNAME_MACHINE} in
+           pc98)
+               echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+           amd64)
+               echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+           *)
+               echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+       esac
+       exit ;;
+    i*:CYGWIN*:*)
+       echo ${UNAME_MACHINE}-pc-cygwin
+       exit ;;
+    *:MINGW*:*)
+       echo ${UNAME_MACHINE}-pc-mingw32
+       exit ;;
+    i*:windows32*:*)
+       # uname -m includes "-pc" on this system.
+       echo ${UNAME_MACHINE}-mingw32
+       exit ;;
+    i*:PW*:*)
+       echo ${UNAME_MACHINE}-pc-pw32
+       exit ;;
+    *:Interix*:*)
+       case ${UNAME_MACHINE} in
+           x86)
+               echo i586-pc-interix${UNAME_RELEASE}
+               exit ;;
+           authenticamd | genuineintel | EM64T)
+               echo x86_64-unknown-interix${UNAME_RELEASE}
+               exit ;;
+           IA64)
+               echo ia64-unknown-interix${UNAME_RELEASE}
+               exit ;;
+       esac ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+       echo i${UNAME_MACHINE}-pc-mks
+       exit ;;
+    8664:Windows_NT:*)
+       echo x86_64-pc-mks
+       exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+       # UNAME_MACHINE based on the output of uname instead of i386?
+       echo i586-pc-interix
+       exit ;;
+    i*:UWIN*:*)
+       echo ${UNAME_MACHINE}-pc-uwin
+       exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+       echo x86_64-unknown-cygwin
+       exit ;;
+    p*:CYGWIN*:*)
+       echo powerpcle-unknown-cygwin
+       exit ;;
+    prep*:SunOS:5.*:*)
+       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    *:GNU:*:*)
+       # the GNU system
+       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       exit ;;
+    *:GNU/*:*:*)
+       # other systems with GNU libc and userland
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+       exit ;;
+    i*86:Minix:*:*)
+       echo ${UNAME_MACHINE}-pc-minix
+       exit ;;
+    alpha:Linux:*:*)
+       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+         EV5)   UNAME_MACHINE=alphaev5 ;;
+         EV56)  UNAME_MACHINE=alphaev56 ;;
+         PCA56) UNAME_MACHINE=alphapca56 ;;
+         PCA57) UNAME_MACHINE=alphapca56 ;;
+         EV6)   UNAME_MACHINE=alphaev6 ;;
+         EV67)  UNAME_MACHINE=alphaev67 ;;
+         EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+       objdump --private-headers /bin/sh | grep -q ld.so.1
+       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+       exit ;;
+    arm*:Linux:*:*)
+       eval $set_cc_for_build
+       if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+           | grep -q __ARM_EABI__
+       then
+           echo ${UNAME_MACHINE}-unknown-linux-gnu
+       else
+           echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+       fi
+       exit ;;
+    avr32*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    cris:Linux:*:*)
+       echo cris-axis-linux-gnu
+       exit ;;
+    crisv32:Linux:*:*)
+       echo crisv32-axis-linux-gnu
+       exit ;;
+    frv:Linux:*:*)
+       echo frv-unknown-linux-gnu
+       exit ;;
+    i*86:Linux:*:*)
+       LIBC=gnu
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #ifdef __dietlibc__
+       LIBC=dietlibc
+       #endif
+EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+       echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+       exit ;;
+    ia64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    m32r*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    m68*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    mips:Linux:*:* | mips64:Linux:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #undef CPU
+       #undef ${UNAME_MACHINE}
+       #undef ${UNAME_MACHINE}el
+       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+       CPU=${UNAME_MACHINE}el
+       #else
+       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+       CPU=${UNAME_MACHINE}
+       #else
+       CPU=
+       #endif
+       #endif
+EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+       ;;
+    or32:Linux:*:*)
+       echo or32-unknown-linux-gnu
+       exit ;;
+    padre:Linux:*:*)
+       echo sparc-unknown-linux-gnu
+       exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+       echo hppa64-unknown-linux-gnu
+       exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+       # Look for CPU level
+       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+         PA7*) echo hppa1.1-unknown-linux-gnu ;;
+         PA8*) echo hppa2.0-unknown-linux-gnu ;;
+         *)    echo hppa-unknown-linux-gnu ;;
+       esac
+       exit ;;
+    ppc64:Linux:*:*)
+       echo powerpc64-unknown-linux-gnu
+       exit ;;
+    ppc:Linux:*:*)
+       echo powerpc-unknown-linux-gnu
+       exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+       echo ${UNAME_MACHINE}-ibm-linux
+       exit ;;
+    sh64*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    sh*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    vax:Linux:*:*)
+       echo ${UNAME_MACHINE}-dec-linux-gnu
+       exit ;;
+    x86_64:Linux:*:*)
+       echo x86_64-unknown-linux-gnu
+       exit ;;
+    xtensa*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    i*86:DYNIX/ptx:4*:*)
+       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+       # earlier versions are messed up and put the nodename in both
+       # sysname and nodename.
+       echo i386-sequent-sysv4
+       exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+       # I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+       exit ;;
+    i*86:OS/2:*:*)
+       # If we were able to find `uname', then EMX Unix compatibility
+       # is probably installed.
+       echo ${UNAME_MACHINE}-pc-os2-emx
+       exit ;;
+    i*86:XTS-300:*:STOP)
+       echo ${UNAME_MACHINE}-unknown-stop
+       exit ;;
+    i*86:atheos:*:*)
+       echo ${UNAME_MACHINE}-unknown-atheos
+       exit ;;
+    i*86:syllable:*:*)
+       echo ${UNAME_MACHINE}-pc-syllable
+       exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+       echo i386-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    i*86:*DOS:*:*)
+       echo ${UNAME_MACHINE}-pc-msdosdjgpp
+       exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+       if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+       else
+               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+       fi
+       exit ;;
+    i*86:*:5:[678]*)
+       # UnixWare 7.x, OpenUNIX and OpenServer 6.
+       case `/bin/uname -X | grep "^Machine"` in
+           *486*)           UNAME_MACHINE=i486 ;;
+           *Pentium)        UNAME_MACHINE=i586 ;;
+           *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+       esac
+       echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+       exit ;;
+    i*86:*:3.2:*)
+       if test -f /usr/options/cb.name; then
+               UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+       elif /bin/uname -X 2>/dev/null >/dev/null ; then
+               UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+               (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+               (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+                       && UNAME_MACHINE=i586
+               (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+                       && UNAME_MACHINE=i686
+               (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+                       && UNAME_MACHINE=i686
+               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+       else
+               echo ${UNAME_MACHINE}-pc-sysv32
+       fi
+       exit ;;
+    pc:*:*:*)
+       # Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i586.
+       # Note: whatever this is, it MUST be the same as what config.sub
+       # prints for the "djgpp" host, or else GDB configury will decide that
+       # this is a cross-build.
+       echo i586-pc-msdosdjgpp
+        exit ;;
+    Intel:Mach:3*:*)
+       echo i386-pc-mach3
+       exit ;;
+    paragon:*:*:*)
+       echo i860-intel-osf1
+       exit ;;
+    i860:*:4.*:*) # i860-SVR4
+       if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+       else # Add other i860-SVR4 vendors below as they are discovered.
+         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+       fi
+       exit ;;
+    mini*:CTIX:SYS*5:*)
+       # "miniframe"
+       echo m68010-convergent-sysv
+       exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+       echo m68k-convergent-sysv
+       exit ;;
+    M680?0:D-NIX:5.3:*)
+       echo m68k-diab-dnix
+       exit ;;
+    M68*:*:R3V[5678]*:*)
+       test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+       OS_REL=''
+       test -r /etc/.relid \
+       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+         && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && { echo i486-ncr-sysv4; exit; } ;;
+    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+       OS_REL='.3'
+       test -r /etc/.relid \
+           && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+           && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+       /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+       echo m68k-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+       echo m68k-atari-sysv4
+       exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+       echo sparc-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    rs6000:LynxOS:2.*:*)
+       echo rs6000-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+       echo powerpc-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+       echo mips-dde-sysv${UNAME_RELEASE}
+       exit ;;
+    RM*:ReliantUNIX-*:*:*)
+       echo mips-sni-sysv4
+       exit ;;
+    RM*:SINIX-*:*:*)
+       echo mips-sni-sysv4
+       exit ;;
+    *:SINIX-*:*:*)
+       if uname -p 2>/dev/null >/dev/null ; then
+               UNAME_MACHINE=`(uname -p) 2>/dev/null`
+               echo ${UNAME_MACHINE}-sni-sysv4
+       else
+               echo ns32k-sni-sysv
+       fi
+       exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit ;;
+    *:UNIX_System_V:4*:FTX*)
+       # From Gerald Hewes <hewes@openmarket.com>.
+       # How about differentiating between stratus architectures? -djm
+       echo hppa1.1-stratus-sysv4
+       exit ;;
+    *:*:*:FTX*)
+       # From seanf@swdc.stratus.com.
+       echo i860-stratus-sysv4
+       exit ;;
+    i*86:VOS:*:*)
+       # From Paul.Green@stratus.com.
+       echo ${UNAME_MACHINE}-stratus-vos
+       exit ;;
+    *:VOS:*:*)
+       # From Paul.Green@stratus.com.
+       echo hppa1.1-stratus-vos
+       exit ;;
+    mc68*:A/UX:*:*)
+       echo m68k-apple-aux${UNAME_RELEASE}
+       exit ;;
+    news*:NEWS-OS:6*:*)
+       echo mips-sony-newsos6
+       exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+       if [ -d /usr/nec ]; then
+               echo mips-nec-sysv${UNAME_RELEASE}
+       else
+               echo mips-unknown-sysv${UNAME_RELEASE}
+       fi
+        exit ;;
+    BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
+       echo powerpc-be-beos
+       exit ;;
+    BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
+       echo powerpc-apple-beos
+       exit ;;
+    BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
+       echo i586-pc-beos
+       exit ;;
+    BePC:Haiku:*:*)    # Haiku running on Intel PC compatible.
+       echo i586-pc-haiku
+       exit ;;
+    SX-4:SUPER-UX:*:*)
+       echo sx4-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-5:SUPER-UX:*:*)
+       echo sx5-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-6:SUPER-UX:*:*)
+       echo sx6-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-7:SUPER-UX:*:*)
+       echo sx7-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-8:SUPER-UX:*:*)
+       echo sx8-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-8R:SUPER-UX:*:*)
+       echo sx8r-nec-superux${UNAME_RELEASE}
+       exit ;;
+    Power*:Rhapsody:*:*)
+       echo powerpc-apple-rhapsody${UNAME_RELEASE}
+       exit ;;
+    *:Rhapsody:*:*)
+       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+       exit ;;
+    *:Darwin:*:*)
+       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+       case $UNAME_PROCESSOR in
+           i386)
+               eval $set_cc_for_build
+               if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+                 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+                     (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+                     grep IS_64BIT_ARCH >/dev/null
+                 then
+                     UNAME_PROCESSOR="x86_64"
+                 fi
+               fi ;;
+           unknown) UNAME_PROCESSOR=powerpc ;;
+       esac
+       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+       exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+       UNAME_PROCESSOR=`uname -p`
+       if test "$UNAME_PROCESSOR" = "x86"; then
+               UNAME_PROCESSOR=i386
+               UNAME_MACHINE=pc
+       fi
+       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+       exit ;;
+    *:QNX:*:4*)
+       echo i386-pc-qnx
+       exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+       echo nse-tandem-nsk${UNAME_RELEASE}
+       exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+       echo nsr-tandem-nsk${UNAME_RELEASE}
+       exit ;;
+    *:NonStop-UX:*:*)
+       echo mips-compaq-nonstopux
+       exit ;;
+    BS2000:POSIX*:*:*)
+       echo bs2000-siemens-sysv
+       exit ;;
+    DS/*:UNIX_System_V:*:*)
+       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+       exit ;;
+    *:Plan9:*:*)
+       # "uname -m" is not consistent, so use $cputype instead. 386
+       # is converted to i386 for consistency with other x86
+       # operating systems.
+       if test "$cputype" = "386"; then
+           UNAME_MACHINE=i386
+       else
+           UNAME_MACHINE="$cputype"
+       fi
+       echo ${UNAME_MACHINE}-unknown-plan9
+       exit ;;
+    *:TOPS-10:*:*)
+       echo pdp10-unknown-tops10
+       exit ;;
+    *:TENEX:*:*)
+       echo pdp10-unknown-tenex
+       exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+       echo pdp10-dec-tops20
+       exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+       echo pdp10-xkl-tops20
+       exit ;;
+    *:TOPS-20:*:*)
+       echo pdp10-unknown-tops20
+       exit ;;
+    *:ITS:*:*)
+       echo pdp10-unknown-its
+       exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+       exit ;;
+    *:DragonFly:*:*)
+       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit ;;
+    *:*VMS:*:*)
+       UNAME_MACHINE=`(uname -p) 2>/dev/null`
+       case "${UNAME_MACHINE}" in
+           A*) echo alpha-dec-vms ; exit ;;
+           I*) echo ia64-dec-vms ; exit ;;
+           V*) echo vax-dec-vms ; exit ;;
+       esac ;;
+    *:XENIX:*:SysV)
+       echo i386-pc-xenix
+       exit ;;
+    i*86:skyos:*:*)
+       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+       exit ;;
+    i*86:rdos:*:*)
+       echo ${UNAME_MACHINE}-pc-rdos
+       exit ;;
+    i*86:AROS:*:*)
+       echo ${UNAME_MACHINE}-pc-aros
+       exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+         ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+       printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+       printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+       { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+       echo c1-convex-bsd
+       exit ;;
+    c2*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+       exit ;;
+    c34*)
+       echo c34-convex-bsd
+       exit ;;
+    c38*)
+       echo c38-convex-bsd
+       exit ;;
+    c4*)
+       echo c4-convex-bsd
+       exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/.pc/stand-alone/config.sub b/.pc/stand-alone/config.sub
new file mode 100755 (executable)
index 0000000..2a55a50
--- /dev/null
@@ -0,0 +1,1705 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+#   Free Software Foundation, Inc.
+
+timestamp='2009-11-20'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted GNU ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )        # Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  kopensolaris*-gnu* | \
+  storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+       -sun*os*)
+               # Prevent following clause from handling this invalid input.
+               ;;
+       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+       -apple | -axis | -knuth | -cray | -microblaze)
+               os=
+               basic_machine=$1
+               ;;
+        -bluegene*)
+               os=-cnk
+               ;;
+       -sim | -cisco | -oki | -wec | -winbond)
+               os=
+               basic_machine=$1
+               ;;
+       -scout)
+               ;;
+       -wrs)
+               os=-vxworks
+               basic_machine=$1
+               ;;
+       -chorusos*)
+               os=-chorusos
+               basic_machine=$1
+               ;;
+       -chorusrdb)
+               os=-chorusrdb
+               basic_machine=$1
+               ;;
+       -hiux*)
+               os=-hiuxwe2
+               ;;
+       -sco6)
+               os=-sco5v6
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco5)
+               os=-sco3.2v5
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco4)
+               os=-sco3.2v4
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2.[4-9]*)
+               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2v[4-9]*)
+               # Don't forget version if it is 3.2v4 or newer.
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco5v6*)
+               # Don't forget version if it is 3.2v4 or newer.
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco*)
+               os=-sco3.2v2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -udk*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -isc)
+               os=-isc2.2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -clix*)
+               basic_machine=clipper-intergraph
+               ;;
+       -isc*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -lynx*)
+               os=-lynxos
+               ;;
+       -ptx*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+               ;;
+       -windowsnt*)
+               os=`echo $os | sed -e 's/windowsnt/winnt/'`
+               ;;
+       -psos*)
+               os=-psos
+               ;;
+       -mint | -mint[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+       # Recognize the basic CPU types without company name.
+       # Some are omitted here because they have special meanings below.
+       1750a | 580 \
+       | a29k \
+       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+       | am33_2.0 \
+       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+       | bfin \
+       | c4x | clipper \
+       | d10v | d30v | dlx | dsp16xx \
+       | fido | fr30 | frv \
+       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | i370 | i860 | i960 | ia64 \
+       | ip2k | iq2000 \
+       | lm32 \
+       | m32c | m32r | m32rle | m68000 | m68k | m88k \
+       | maxq | mb | microblaze | mcore | mep | metag \
+       | mips | mipsbe | mipseb | mipsel | mipsle \
+       | mips16 \
+       | mips64 | mips64el \
+       | mips64octeon | mips64octeonel \
+       | mips64orion | mips64orionel \
+       | mips64r5900 | mips64r5900el \
+       | mips64vr | mips64vrel \
+       | mips64vr4100 | mips64vr4100el \
+       | mips64vr4300 | mips64vr4300el \
+       | mips64vr5000 | mips64vr5000el \
+       | mips64vr5900 | mips64vr5900el \
+       | mipsisa32 | mipsisa32el \
+       | mipsisa32r2 | mipsisa32r2el \
+       | mipsisa64 | mipsisa64el \
+       | mipsisa64r2 | mipsisa64r2el \
+       | mipsisa64sb1 | mipsisa64sb1el \
+       | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipstx39 | mipstx39el \
+       | mn10200 | mn10300 \
+       | moxie \
+       | mt \
+       | msp430 \
+       | nios | nios2 \
+       | ns16k | ns32k \
+       | or32 \
+       | pdp10 | pdp11 | pj | pjl \
+       | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+       | pyramid \
+       | rx \
+       | score \
+       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+       | sh64 | sh64le \
+       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+       | spu | strongarm \
+       | tahoe | thumb | tic4x | tic80 | tron \
+       | ubicom32 \
+       | v850 | v850e \
+       | we32k \
+       | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+       | z8k | z80)
+               basic_machine=$basic_machine-unknown
+               ;;
+       m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+               # Motorola 68HC11/12.
+               basic_machine=$basic_machine-unknown
+               os=-none
+               ;;
+       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+               ;;
+       ms1)
+               basic_machine=mt-unknown
+               ;;
+
+       # We use `pc' rather than `unknown'
+       # because (1) that's what they normally are, and
+       # (2) the word "unknown" tends to confuse beginning users.
+       i*86 | x86_64)
+         basic_machine=$basic_machine-pc
+         ;;
+       # Object if more than one company name word.
+       *-*-*)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+       # Recognize the basic CPU types with company name.
+       580-* \
+       | a29k-* \
+       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+       | avr-* | avr32-* \
+       | bfin-* | bs2000-* \
+       | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+       | clipper-* | craynv-* | cydra-* \
+       | d10v-* | d30v-* | dlx-* \
+       | elxsi-* \
+       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+       | h8300-* | h8500-* \
+       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | i*86-* | i860-* | i960-* | ia64-* \
+       | ip2k-* | iq2000-* \
+       | lm32-* \
+       | m32c-* | m32r-* | m32rle-* \
+       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+       | mips16-* \
+       | mips64-* | mips64el-* \
+       | mips64octeon-* | mips64octeonel-* \
+       | mips64orion-* | mips64orionel-* \
+       | mips64r5900-* | mips64r5900el-* \
+       | mips64vr-* | mips64vrel-* \
+       | mips64vr4100-* | mips64vr4100el-* \
+       | mips64vr4300-* | mips64vr4300el-* \
+       | mips64vr5000-* | mips64vr5000el-* \
+       | mips64vr5900-* | mips64vr5900el-* \
+       | mipsisa32-* | mipsisa32el-* \
+       | mipsisa32r2-* | mipsisa32r2el-* \
+       | mipsisa64-* | mipsisa64el-* \
+       | mipsisa64r2-* | mipsisa64r2el-* \
+       | mipsisa64sb1-* | mipsisa64sb1el-* \
+       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipstx39-* | mipstx39el-* \
+       | mmix-* \
+       | mt-* \
+       | msp430-* \
+       | nios-* | nios2-* \
+       | none-* | np1-* | ns16k-* | ns32k-* \
+       | orion-* \
+       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+       | pyramid-* \
+       | romp-* | rs6000-* | rx-* \
+       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+       | sparclite-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+       | tahoe-* | thumb-* \
+       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+       | tron-* \
+       | ubicom32-* \
+       | v850-* | v850e-* | vax-* \
+       | we32k-* \
+       | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+       | xstormy16-* | xtensa*-* \
+       | ymp-* \
+       | z8k-* | z80-*)
+               ;;
+       # Recognize the basic CPU types without company name, with glob match.
+       xtensa*)
+               basic_machine=$basic_machine-unknown
+               ;;
+       # Recognize the various machine names and aliases which stand
+       # for a CPU type and a company and sometimes even an OS.
+       386bsd)
+               basic_machine=i386-unknown
+               os=-bsd
+               ;;
+       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+               basic_machine=m68000-att
+               ;;
+       3b*)
+               basic_machine=we32k-att
+               ;;
+       a29khif)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       abacus)
+               basic_machine=abacus-unknown
+               ;;
+       adobe68k)
+               basic_machine=m68010-adobe
+               os=-scout
+               ;;
+       alliant | fx80)
+               basic_machine=fx80-alliant
+               ;;
+       altos | altos3068)
+               basic_machine=m68k-altos
+               ;;
+       am29k)
+               basic_machine=a29k-none
+               os=-bsd
+               ;;
+       amd64)
+               basic_machine=x86_64-pc
+               ;;
+       amd64-*)
+               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       amdahl)
+               basic_machine=580-amdahl
+               os=-sysv
+               ;;
+       amiga | amiga-*)
+               basic_machine=m68k-unknown
+               ;;
+       amigaos | amigados)
+               basic_machine=m68k-unknown
+               os=-amigaos
+               ;;
+       amigaunix | amix)
+               basic_machine=m68k-unknown
+               os=-sysv4
+               ;;
+       apollo68)
+               basic_machine=m68k-apollo
+               os=-sysv
+               ;;
+       apollo68bsd)
+               basic_machine=m68k-apollo
+               os=-bsd
+               ;;
+       aros)
+               basic_machine=i386-pc
+               os=-aros
+               ;;
+       aux)
+               basic_machine=m68k-apple
+               os=-aux
+               ;;
+       balance)
+               basic_machine=ns32k-sequent
+               os=-dynix
+               ;;
+       blackfin)
+               basic_machine=bfin-unknown
+               os=-linux
+               ;;
+       blackfin-*)
+               basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
+       bluegene*)
+               basic_machine=powerpc-ibm
+               os=-cnk
+               ;;
+       c90)
+               basic_machine=c90-cray
+               os=-unicos
+               ;;
+        cegcc)
+               basic_machine=arm-unknown
+               os=-cegcc
+               ;;
+       convex-c1)
+               basic_machine=c1-convex
+               os=-bsd
+               ;;
+       convex-c2)
+               basic_machine=c2-convex
+               os=-bsd
+               ;;
+       convex-c32)
+               basic_machine=c32-convex
+               os=-bsd
+               ;;
+       convex-c34)
+               basic_machine=c34-convex
+               os=-bsd
+               ;;
+       convex-c38)
+               basic_machine=c38-convex
+               os=-bsd
+               ;;
+       cray | j90)
+               basic_machine=j90-cray
+               os=-unicos
+               ;;
+       craynv)
+               basic_machine=craynv-cray
+               os=-unicosmp
+               ;;
+       cr16)
+               basic_machine=cr16-unknown
+               os=-elf
+               ;;
+       crds | unos)
+               basic_machine=m68k-crds
+               ;;
+       crisv32 | crisv32-* | etraxfs*)
+               basic_machine=crisv32-axis
+               ;;
+       cris | cris-* | etrax*)
+               basic_machine=cris-axis
+               ;;
+       crx)
+               basic_machine=crx-unknown
+               os=-elf
+               ;;
+       da30 | da30-*)
+               basic_machine=m68k-da30
+               ;;
+       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+               basic_machine=mips-dec
+               ;;
+       decsystem10* | dec10*)
+               basic_machine=pdp10-dec
+               os=-tops10
+               ;;
+       decsystem20* | dec20*)
+               basic_machine=pdp10-dec
+               os=-tops20
+               ;;
+       delta | 3300 | motorola-3300 | motorola-delta \
+             | 3300-motorola | delta-motorola)
+               basic_machine=m68k-motorola
+               ;;
+       delta88)
+               basic_machine=m88k-motorola
+               os=-sysv3
+               ;;
+       dicos)
+               basic_machine=i686-pc
+               os=-dicos
+               ;;
+       djgpp)
+               basic_machine=i586-pc
+               os=-msdosdjgpp
+               ;;
+       dpx20 | dpx20-*)
+               basic_machine=rs6000-bull
+               os=-bosx
+               ;;
+       dpx2* | dpx2*-bull)
+               basic_machine=m68k-bull
+               os=-sysv3
+               ;;
+       ebmon29k)
+               basic_machine=a29k-amd
+               os=-ebmon
+               ;;
+       elxsi)
+               basic_machine=elxsi-elxsi
+               os=-bsd
+               ;;
+       encore | umax | mmax)
+               basic_machine=ns32k-encore
+               ;;
+       es1800 | OSE68k | ose68k | ose | OSE)
+               basic_machine=m68k-ericsson
+               os=-ose
+               ;;
+       fx2800)
+               basic_machine=i860-alliant
+               ;;
+       genix)
+               basic_machine=ns32k-ns
+               ;;
+       gmicro)
+               basic_machine=tron-gmicro
+               os=-sysv
+               ;;
+       go32)
+               basic_machine=i386-pc
+               os=-go32
+               ;;
+       h3050r* | hiux*)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       h8300hms)
+               basic_machine=h8300-hitachi
+               os=-hms
+               ;;
+       h8300xray)
+               basic_machine=h8300-hitachi
+               os=-xray
+               ;;
+       h8500hms)
+               basic_machine=h8500-hitachi
+               os=-hms
+               ;;
+       harris)
+               basic_machine=m88k-harris
+               os=-sysv3
+               ;;
+       hp300-*)
+               basic_machine=m68k-hp
+               ;;
+       hp300bsd)
+               basic_machine=m68k-hp
+               os=-bsd
+               ;;
+       hp300hpux)
+               basic_machine=m68k-hp
+               os=-hpux
+               ;;
+       hp3k9[0-9][0-9] | hp9[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k2[0-9][0-9] | hp9k31[0-9])
+               basic_machine=m68000-hp
+               ;;
+       hp9k3[2-9][0-9])
+               basic_machine=m68k-hp
+               ;;
+       hp9k6[0-9][0-9] | hp6[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k7[0-79][0-9] | hp7[0-79][0-9])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k78[0-9] | hp78[0-9])
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][13679] | hp8[0-9][13679])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][0-9] | hp8[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hppa-next)
+               os=-nextstep3
+               ;;
+       hppaosf)
+               basic_machine=hppa1.1-hp
+               os=-osf
+               ;;
+       hppro)
+               basic_machine=hppa1.1-hp
+               os=-proelf
+               ;;
+       i370-ibm* | ibm*)
+               basic_machine=i370-ibm
+               ;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+       i*86v32)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv32
+               ;;
+       i*86v4*)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv4
+               ;;
+       i*86v)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv
+               ;;
+       i*86sol2)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-solaris2
+               ;;
+       i386mach)
+               basic_machine=i386-mach
+               os=-mach
+               ;;
+       i386-vsta | vsta)
+               basic_machine=i386-unknown
+               os=-vsta
+               ;;
+       iris | iris4d)
+               basic_machine=mips-sgi
+               case $os in
+                   -irix*)
+                       ;;
+                   *)
+                       os=-irix4
+                       ;;
+               esac
+               ;;
+       isi68 | isi)
+               basic_machine=m68k-isi
+               os=-sysv
+               ;;
+       m68knommu)
+               basic_machine=m68k-unknown
+               os=-linux
+               ;;
+       m68knommu-*)
+               basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
+       m88k-omron*)
+               basic_machine=m88k-omron
+               ;;
+       magnum | m3230)
+               basic_machine=mips-mips
+               os=-sysv
+               ;;
+       merlin)
+               basic_machine=ns32k-utek
+               os=-sysv
+               ;;
+        microblaze)
+               basic_machine=microblaze-xilinx
+               ;;
+       mingw32)
+               basic_machine=i386-pc
+               os=-mingw32
+               ;;
+       mingw32ce)
+               basic_machine=arm-unknown
+               os=-mingw32ce
+               ;;
+       miniframe)
+               basic_machine=m68000-convergent
+               ;;
+       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+       mips3*-*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+               ;;
+       mips3*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+               ;;
+       monitor)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       morphos)
+               basic_machine=powerpc-unknown
+               os=-morphos
+               ;;
+       msdos)
+               basic_machine=i386-pc
+               os=-msdos
+               ;;
+       ms1-*)
+               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+               ;;
+       mvs)
+               basic_machine=i370-ibm
+               os=-mvs
+               ;;
+       ncr3000)
+               basic_machine=i486-ncr
+               os=-sysv4
+               ;;
+       netbsd386)
+               basic_machine=i386-unknown
+               os=-netbsd
+               ;;
+       netwinder)
+               basic_machine=armv4l-rebel
+               os=-linux
+               ;;
+       news | news700 | news800 | news900)
+               basic_machine=m68k-sony
+               os=-newsos
+               ;;
+       news1000)
+               basic_machine=m68030-sony
+               os=-newsos
+               ;;
+       news-3600 | risc-news)
+               basic_machine=mips-sony
+               os=-newsos
+               ;;
+       necv70)
+               basic_machine=v70-nec
+               os=-sysv
+               ;;
+       next | m*-next )
+               basic_machine=m68k-next
+               case $os in
+                   -nextstep* )
+                       ;;
+                   -ns2*)
+                     os=-nextstep2
+                       ;;
+                   *)
+                     os=-nextstep3
+                       ;;
+               esac
+               ;;
+       nh3000)
+               basic_machine=m68k-harris
+               os=-cxux
+               ;;
+       nh[45]000)
+               basic_machine=m88k-harris
+               os=-cxux
+               ;;
+       nindy960)
+               basic_machine=i960-intel
+               os=-nindy
+               ;;
+       mon960)
+               basic_machine=i960-intel
+               os=-mon960
+               ;;
+       nonstopux)
+               basic_machine=mips-compaq
+               os=-nonstopux
+               ;;
+       np1)
+               basic_machine=np1-gould
+               ;;
+       nsr-tandem)
+               basic_machine=nsr-tandem
+               ;;
+       op50n-* | op60c-*)
+               basic_machine=hppa1.1-oki
+               os=-proelf
+               ;;
+       openrisc | openrisc-*)
+               basic_machine=or32-unknown
+               ;;
+       os400)
+               basic_machine=powerpc-ibm
+               os=-os400
+               ;;
+       OSE68000 | ose68000)
+               basic_machine=m68000-ericsson
+               os=-ose
+               ;;
+       os68k)
+               basic_machine=m68k-none
+               os=-os68k
+               ;;
+       pa-hitachi)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       paragon)
+               basic_machine=i860-intel
+               os=-osf
+               ;;
+       parisc)
+               basic_machine=hppa-unknown
+               os=-linux
+               ;;
+       parisc-*)
+               basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
+       pbd)
+               basic_machine=sparc-tti
+               ;;
+       pbb)
+               basic_machine=m68k-tti
+               ;;
+       pc532 | pc532-*)
+               basic_machine=ns32k-pc532
+               ;;
+       pc98)
+               basic_machine=i386-pc
+               ;;
+       pc98-*)
+               basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentium | p5 | k5 | k6 | nexgen | viac3)
+               basic_machine=i586-pc
+               ;;
+       pentiumpro | p6 | 6x86 | athlon | athlon_*)
+               basic_machine=i686-pc
+               ;;
+       pentiumii | pentium2 | pentiumiii | pentium3)
+               basic_machine=i686-pc
+               ;;
+       pentium4)
+               basic_machine=i786-pc
+               ;;
+       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumpro-* | p6-* | 6x86-* | athlon-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentium4-*)
+               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pn)
+               basic_machine=pn-gould
+               ;;
+       power)  basic_machine=power-ibm
+               ;;
+       ppc)    basic_machine=powerpc-unknown
+               ;;
+       ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppcle | powerpclittle | ppc-le | powerpc-little)
+               basic_machine=powerpcle-unknown
+               ;;
+       ppcle-* | powerpclittle-*)
+               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppc64)  basic_machine=powerpc64-unknown
+               ;;
+       ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+               basic_machine=powerpc64le-unknown
+               ;;
+       ppc64le-* | powerpc64little-*)
+               basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ps2)
+               basic_machine=i386-ibm
+               ;;
+       pw32)
+               basic_machine=i586-unknown
+               os=-pw32
+               ;;
+       rdos)
+               basic_machine=i386-pc
+               os=-rdos
+               ;;
+       rom68k)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       rm[46]00)
+               basic_machine=mips-siemens
+               ;;
+       rtpc | rtpc-*)
+               basic_machine=romp-ibm
+               ;;
+       s390 | s390-*)
+               basic_machine=s390-ibm
+               ;;
+       s390x | s390x-*)
+               basic_machine=s390x-ibm
+               ;;
+       sa29200)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       sb1)
+               basic_machine=mipsisa64sb1-unknown
+               ;;
+       sb1el)
+               basic_machine=mipsisa64sb1el-unknown
+               ;;
+       sde)
+               basic_machine=mipsisa32-sde
+               os=-elf
+               ;;
+       sei)
+               basic_machine=mips-sei
+               os=-seiux
+               ;;
+       sequent)
+               basic_machine=i386-sequent
+               ;;
+       sh)
+               basic_machine=sh-hitachi
+               os=-hms
+               ;;
+       sh5el)
+               basic_machine=sh5le-unknown
+               ;;
+       sh64)
+               basic_machine=sh64-unknown
+               ;;
+       sparclite-wrs | simso-wrs)
+               basic_machine=sparclite-wrs
+               os=-vxworks
+               ;;
+       sps7)
+               basic_machine=m68k-bull
+               os=-sysv2
+               ;;
+       spur)
+               basic_machine=spur-unknown
+               ;;
+       st2000)
+               basic_machine=m68k-tandem
+               ;;
+       stratus)
+               basic_machine=i860-stratus
+               os=-sysv4
+               ;;
+       sun2)
+               basic_machine=m68000-sun
+               ;;
+       sun2os3)
+               basic_machine=m68000-sun
+               os=-sunos3
+               ;;
+       sun2os4)
+               basic_machine=m68000-sun
+               os=-sunos4
+               ;;
+       sun3os3)
+               basic_machine=m68k-sun
+               os=-sunos3
+               ;;
+       sun3os4)
+               basic_machine=m68k-sun
+               os=-sunos4
+               ;;
+       sun4os3)
+               basic_machine=sparc-sun
+               os=-sunos3
+               ;;
+       sun4os4)
+               basic_machine=sparc-sun
+               os=-sunos4
+               ;;
+       sun4sol2)
+               basic_machine=sparc-sun
+               os=-solaris2
+               ;;
+       sun3 | sun3-*)
+               basic_machine=m68k-sun
+               ;;
+       sun4)
+               basic_machine=sparc-sun
+               ;;
+       sun386 | sun386i | roadrunner)
+               basic_machine=i386-sun
+               ;;
+       sv1)
+               basic_machine=sv1-cray
+               os=-unicos
+               ;;
+       symmetry)
+               basic_machine=i386-sequent
+               os=-dynix
+               ;;
+       t3e)
+               basic_machine=alphaev5-cray
+               os=-unicos
+               ;;
+       t90)
+               basic_machine=t90-cray
+               os=-unicos
+               ;;
+       tic54x | c54x*)
+               basic_machine=tic54x-unknown
+               os=-coff
+               ;;
+       tic55x | c55x*)
+               basic_machine=tic55x-unknown
+               os=-coff
+               ;;
+       tic6x | c6x*)
+               basic_machine=tic6x-unknown
+               os=-coff
+               ;;
+       tile*)
+               basic_machine=tile-unknown
+               os=-linux-gnu
+               ;;
+       tx39)
+               basic_machine=mipstx39-unknown
+               ;;
+       tx39el)
+               basic_machine=mipstx39el-unknown
+               ;;
+       toad1)
+               basic_machine=pdp10-xkl
+               os=-tops20
+               ;;
+       tower | tower-32)
+               basic_machine=m68k-ncr
+               ;;
+       tpf)
+               basic_machine=s390x-ibm
+               os=-tpf
+               ;;
+       udi29k)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       ultra3)
+               basic_machine=a29k-nyu
+               os=-sym1
+               ;;
+       v810 | necv810)
+               basic_machine=v810-nec
+               os=-none
+               ;;
+       vaxv)
+               basic_machine=vax-dec
+               os=-sysv
+               ;;
+       vms)
+               basic_machine=vax-dec
+               os=-vms
+               ;;
+       vpp*|vx|vx-*)
+               basic_machine=f301-fujitsu
+               ;;
+       vxworks960)
+               basic_machine=i960-wrs
+               os=-vxworks
+               ;;
+       vxworks68)
+               basic_machine=m68k-wrs
+               os=-vxworks
+               ;;
+       vxworks29k)
+               basic_machine=a29k-wrs
+               os=-vxworks
+               ;;
+       w65*)
+               basic_machine=w65-wdc
+               os=-none
+               ;;
+       w89k-*)
+               basic_machine=hppa1.1-winbond
+               os=-proelf
+               ;;
+       xbox)
+               basic_machine=i686-pc
+               os=-mingw32
+               ;;
+       xps | xps100)
+               basic_machine=xps100-honeywell
+               ;;
+       ymp)
+               basic_machine=ymp-cray
+               os=-unicos
+               ;;
+       z8k-*-coff)
+               basic_machine=z8k-unknown
+               os=-sim
+               ;;
+       z80-*-coff)
+               basic_machine=z80-unknown
+               os=-sim
+               ;;
+       none)
+               basic_machine=none-none
+               os=-none
+               ;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+       w89k)
+               basic_machine=hppa1.1-winbond
+               ;;
+       op50n)
+               basic_machine=hppa1.1-oki
+               ;;
+       op60c)
+               basic_machine=hppa1.1-oki
+               ;;
+       romp)
+               basic_machine=romp-ibm
+               ;;
+       mmix)
+               basic_machine=mmix-knuth
+               ;;
+       rs6000)
+               basic_machine=rs6000-ibm
+               ;;
+       vax)
+               basic_machine=vax-dec
+               ;;
+       pdp10)
+               # there are many clones, so DEC is not a safe bet
+               basic_machine=pdp10-unknown
+               ;;
+       pdp11)
+               basic_machine=pdp11-dec
+               ;;
+       we32k)
+               basic_machine=we32k-att
+               ;;
+       sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+               basic_machine=sh-unknown
+               ;;
+       sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+               basic_machine=sparc-sun
+               ;;
+       cydra)
+               basic_machine=cydra-cydrome
+               ;;
+       orion)
+               basic_machine=orion-highlevel
+               ;;
+       orion105)
+               basic_machine=clipper-highlevel
+               ;;
+       mac | mpw | mac-mpw)
+               basic_machine=m68k-apple
+               ;;
+       pmac | pmac-mpw)
+               basic_machine=powerpc-apple
+               ;;
+       *-unknown)
+               # Make sure to match an already-canonicalized machine name.
+               ;;
+       *)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+       *-digital*)
+               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+               ;;
+       *-commodore*)
+               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+               ;;
+       *)
+               ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+       # -solaris* is a basic system type, with this one exception.
+        -auroraux)
+               os=-auroraux
+               ;;
+       -solaris1 | -solaris1.*)
+               os=`echo $os | sed -e 's|solaris1|sunos4|'`
+               ;;
+       -solaris)
+               os=-solaris2
+               ;;
+       -svr4*)
+               os=-sysv4
+               ;;
+       -unixware*)
+               os=-sysv4.2uw
+               ;;
+       -gnu/linux*)
+               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+               ;;
+       # First accept the basic system types.
+       # The portable systems comes first.
+       # Each alternative MUST END IN A *, to match a version number.
+       # -sysv* is not here because it comes later, after sysvr4.
+       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+             | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+             | -sym* | -kopensolaris* \
+             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+             | -aos* | -aros* \
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+             | -openbsd* | -solidbsd* \
+             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+             | -chorusos* | -chorusrdb* | -cegcc* \
+             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+             | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+             | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+       # Remember, each alternative MUST END IN *, to match a version number.
+               ;;
+       -qnx*)
+               case $basic_machine in
+                   x86-* | i*86-*)
+                       ;;
+                   *)
+                       os=-nto$os
+                       ;;
+               esac
+               ;;
+       -nto-qnx*)
+               ;;
+       -nto*)
+               os=`echo $os | sed -e 's|nto|nto-qnx|'`
+               ;;
+       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+               ;;
+       -mac*)
+               os=`echo $os | sed -e 's|mac|macos|'`
+               ;;
+       -linux-dietlibc)
+               os=-linux-dietlibc
+               ;;
+       -linux*)
+               os=`echo $os | sed -e 's|linux|linux-gnu|'`
+               ;;
+       -sunos5*)
+               os=`echo $os | sed -e 's|sunos5|solaris2|'`
+               ;;
+       -sunos6*)
+               os=`echo $os | sed -e 's|sunos6|solaris3|'`
+               ;;
+       -opened*)
+               os=-openedition
+               ;;
+        -os400*)
+               os=-os400
+               ;;
+       -wince*)
+               os=-wince
+               ;;
+       -osfrose*)
+               os=-osfrose
+               ;;
+       -osf*)
+               os=-osf
+               ;;
+       -utek*)
+               os=-bsd
+               ;;
+       -dynix*)
+               os=-bsd
+               ;;
+       -acis*)
+               os=-aos
+               ;;
+       -atheos*)
+               os=-atheos
+               ;;
+       -syllable*)
+               os=-syllable
+               ;;
+       -386bsd)
+               os=-bsd
+               ;;
+       -ctix* | -uts*)
+               os=-sysv
+               ;;
+       -nova*)
+               os=-rtmk-nova
+               ;;
+       -ns2 )
+               os=-nextstep2
+               ;;
+       -nsk*)
+               os=-nsk
+               ;;
+       # Preserve the version number of sinix5.
+       -sinix5.*)
+               os=`echo $os | sed -e 's|sinix|sysv|'`
+               ;;
+       -sinix*)
+               os=-sysv4
+               ;;
+        -tpf*)
+               os=-tpf
+               ;;
+       -triton*)
+               os=-sysv3
+               ;;
+       -oss*)
+               os=-sysv3
+               ;;
+       -svr4)
+               os=-sysv4
+               ;;
+       -svr3)
+               os=-sysv3
+               ;;
+       -sysvr4)
+               os=-sysv4
+               ;;
+       # This must come after -sysvr4.
+       -sysv*)
+               ;;
+       -ose*)
+               os=-ose
+               ;;
+       -es1800*)
+               os=-ose
+               ;;
+       -xenix)
+               os=-xenix
+               ;;
+       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+               os=-mint
+               ;;
+       -aros*)
+               os=-aros
+               ;;
+       -kaos*)
+               os=-kaos
+               ;;
+       -zvmoe)
+               os=-zvmoe
+               ;;
+       -dicos*)
+               os=-dicos
+               ;;
+       -none)
+               ;;
+       *)
+               # Get rid of the `-' at the beginning of $os.
+               os=`echo $os | sed 's/[^-]*-//'`
+               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+        score-*)
+               os=-elf
+               ;;
+        spu-*)
+               os=-elf
+               ;;
+       *-acorn)
+               os=-riscix1.2
+               ;;
+       arm*-rebel)
+               os=-linux
+               ;;
+       arm*-semi)
+               os=-aout
+               ;;
+        c4x-* | tic4x-*)
+               os=-coff
+               ;;
+       # This must come before the *-dec entry.
+       pdp10-*)
+               os=-tops20
+               ;;
+       pdp11-*)
+               os=-none
+               ;;
+       *-dec | vax-*)
+               os=-ultrix4.2
+               ;;
+       m68*-apollo)
+               os=-domain
+               ;;
+       i386-sun)
+               os=-sunos4.0.2
+               ;;
+       m68000-sun)
+               os=-sunos3
+               # This also exists in the configure program, but was not the
+               # default.
+               # os=-sunos4
+               ;;
+       m68*-cisco)
+               os=-aout
+               ;;
+        mep-*)
+               os=-elf
+               ;;
+       mips*-cisco)
+               os=-elf
+               ;;
+       mips*-*)
+               os=-elf
+               ;;
+       or32-*)
+               os=-coff
+               ;;
+       *-tti)  # must be before sparc entry or we get the wrong os.
+               os=-sysv3
+               ;;
+       sparc-* | *-sun)
+               os=-sunos4.1.1
+               ;;
+       *-be)
+               os=-beos
+               ;;
+       *-haiku)
+               os=-haiku
+               ;;
+       *-ibm)
+               os=-aix
+               ;;
+       *-knuth)
+               os=-mmixware
+               ;;
+       *-wec)
+               os=-proelf
+               ;;
+       *-winbond)
+               os=-proelf
+               ;;
+       *-oki)
+               os=-proelf
+               ;;
+       *-hp)
+               os=-hpux
+               ;;
+       *-hitachi)
+               os=-hiux
+               ;;
+       i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+               os=-sysv
+               ;;
+       *-cbm)
+               os=-amigaos
+               ;;
+       *-dg)
+               os=-dgux
+               ;;
+       *-dolphin)
+               os=-sysv3
+               ;;
+       m68k-ccur)
+               os=-rtu
+               ;;
+       m88k-omron*)
+               os=-luna
+               ;;
+       *-next )
+               os=-nextstep
+               ;;
+       *-sequent)
+               os=-ptx
+               ;;
+       *-crds)
+               os=-unos
+               ;;
+       *-ns)
+               os=-genix
+               ;;
+       i370-*)
+               os=-mvs
+               ;;
+       *-next)
+               os=-nextstep3
+               ;;
+       *-gould)
+               os=-sysv
+               ;;
+       *-highlevel)
+               os=-bsd
+               ;;
+       *-encore)
+               os=-bsd
+               ;;
+       *-sgi)
+               os=-irix
+               ;;
+       *-siemens)
+               os=-sysv4
+               ;;
+       *-masscomp)
+               os=-rtu
+               ;;
+       f30[01]-fujitsu | f700-fujitsu)
+               os=-uxpv
+               ;;
+       *-rom68k)
+               os=-coff
+               ;;
+       *-*bug)
+               os=-coff
+               ;;
+       *-apple)
+               os=-macos
+               ;;
+       *-atari*)
+               os=-mint
+               ;;
+       *)
+               os=-none
+               ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+       *-unknown)
+               case $os in
+                       -riscix*)
+                               vendor=acorn
+                               ;;
+                       -sunos*)
+                               vendor=sun
+                               ;;
+                       -cnk*|-aix*)
+                               vendor=ibm
+                               ;;
+                       -beos*)
+                               vendor=be
+                               ;;
+                       -hpux*)
+                               vendor=hp
+                               ;;
+                       -mpeix*)
+                               vendor=hp
+                               ;;
+                       -hiux*)
+                               vendor=hitachi
+                               ;;
+                       -unos*)
+                               vendor=crds
+                               ;;
+                       -dgux*)
+                               vendor=dg
+                               ;;
+                       -luna*)
+                               vendor=omron
+                               ;;
+                       -genix*)
+                               vendor=ns
+                               ;;
+                       -mvs* | -opened*)
+                               vendor=ibm
+                               ;;
+                       -os400*)
+                               vendor=ibm
+                               ;;
+                       -ptx*)
+                               vendor=sequent
+                               ;;
+                       -tpf*)
+                               vendor=ibm
+                               ;;
+                       -vxsim* | -vxworks* | -windiss*)
+                               vendor=wrs
+                               ;;
+                       -aux*)
+                               vendor=apple
+                               ;;
+                       -hms*)
+                               vendor=hitachi
+                               ;;
+                       -mpw* | -macos*)
+                               vendor=apple
+                               ;;
+                       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+                               vendor=atari
+                               ;;
+                       -vos*)
+                               vendor=stratus
+                               ;;
+               esac
+               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+               ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
index 818a69e..1591495 100755 (executable)
@@ -11392,10 +11392,6 @@ case "$host" in
        TARGET=MIPS; TARGETDIR=mips
        ;;
 
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
   powerpc*-*-linux* | powerpc-*-sysv*)
        TARGET=POWERPC; TARGETDIR=powerpc
        ;;
index c75697b..5036e25 100644 (file)
@@ -123,10 +123,6 @@ case "$host" in
        TARGET=MIPS; TARGETDIR=mips
        ;;
 
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
   powerpc*-*-linux* | powerpc-*-sysv*)
        TARGET=POWERPC; TARGETDIR=powerpc
        ;;
similarity index 87%
rename from .pc/autoconf-archive-update/include/Makefile.in
rename to .pc/stand-alone/include/Makefile.in
index d52ee67..781b9a8 100644 (file)
@@ -37,16 +37,19 @@ host_triplet = @host@
 target_triplet = @target@
 subdir = include
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/ffi.h.in
+       $(srcdir)/ffi.h.in $(toollibffi_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
-       $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+       $(top_srcdir)/../config/lead-dot.m4 \
+       $(top_srcdir)/../config/multi.m4 \
+       $(top_srcdir)/../config/override.m4 \
+       $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+       $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+       $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
        $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/fficonfig.h
 CONFIG_CLEAN_FILES = ffi.h ffitarget.h
 CONFIG_CLEAN_VPATH_FILES =
@@ -73,8 +76,8 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(includesdir)"
-HEADERS = $(nodist_includes_HEADERS)
+am__installdirs = "$(DESTDIR)$(toollibffidir)"
+HEADERS = $(toollibffi_HEADERS)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -99,7 +102,6 @@ CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -125,7 +127,6 @@ LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
 NMEDIT = @NMEDIT@
@@ -153,7 +154,6 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 am__include = @am__include@
@@ -188,6 +188,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+multi_basedir = @multi_basedir@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -210,8 +211,11 @@ top_srcdir = @top_srcdir@
 AUTOMAKE_OPTIONS = foreign
 DISTCLEANFILES = ffitarget.h
 EXTRA_DIST = ffi.h.in ffi_common.h
-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
-nodist_includes_HEADERS = ffi.h ffitarget.h
+
+# Where generated headers like ffitarget.h get installed.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
+toollibffi_HEADERS = ffi.h ffitarget.h
 all: all-am
 
 .SUFFIXES:
@@ -253,26 +257,26 @@ mostlyclean-libtool:
 
 clean-libtool:
        -rm -rf .libs _libs
-install-nodist_includesHEADERS: $(nodist_includes_HEADERS)
+install-toollibffiHEADERS: $(toollibffi_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
-       @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       test -z "$(toollibffidir)" || $(MKDIR_P) "$(DESTDIR)$(toollibffidir)"
+       @list='$(toollibffi_HEADERS)'; test -n "$(toollibffidir)" || list=; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
        done | $(am__base_list) | \
        while read files; do \
-         echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
-         $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
+         echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(toollibffidir)'"; \
+         $(INSTALL_HEADER) $$files "$(DESTDIR)$(toollibffidir)" || exit $$?; \
        done
 
-uninstall-nodist_includesHEADERS:
+uninstall-toollibffiHEADERS:
        @$(NORMAL_UNINSTALL)
-       @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       @list='$(toollibffi_HEADERS)'; test -n "$(toollibffidir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        test -n "$$files" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(includesdir)" && rm -f $$files
+       echo " ( cd '$(DESTDIR)$(toollibffidir)' && rm -f" $$files ")"; \
+       cd "$(DESTDIR)$(toollibffidir)" && rm -f $$files
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
        list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -360,7 +364,7 @@ check-am: all-am
 check: check-am
 all-am: Makefile $(HEADERS)
 installdirs:
-       for dir in "$(DESTDIR)$(includesdir)"; do \
+       for dir in "$(DESTDIR)$(toollibffidir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
        done
 install: install-am
@@ -409,7 +413,7 @@ info: info-am
 
 info-am:
 
-install-data-am: install-nodist_includesHEADERS
+install-data-am: install-toollibffiHEADERS
 
 install-dvi: install-dvi-am
 
@@ -453,7 +457,7 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-nodist_includesHEADERS
+uninstall-am: uninstall-toollibffiHEADERS
 
 .MAKE: install-am install-strip
 
@@ -463,12 +467,13 @@ uninstall-am: uninstall-nodist_includesHEADERS
        html-am info info-am install install-am install-data \
        install-data-am install-dvi install-dvi-am install-exec \
        install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-nodist_includesHEADERS \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am uninstall-nodist_includesHEADERS
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip \
+       install-toollibffiHEADERS installcheck installcheck-am \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+       ps ps-am tags uninstall uninstall-am \
+       uninstall-toollibffiHEADERS
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
similarity index 96%
rename from .pc/autoconf-archive-update/man/Makefile.in
rename to .pc/stand-alone/man/Makefile.in
index 29eb211..79466b3 100644 (file)
@@ -37,14 +37,17 @@ target_triplet = @target@
 subdir = man
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
-       $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+       $(top_srcdir)/../config/lead-dot.m4 \
+       $(top_srcdir)/../config/multi.m4 \
+       $(top_srcdir)/../config/override.m4 \
+       $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+       $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+       $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
        $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/fficonfig.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
@@ -97,7 +100,6 @@ CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -123,7 +125,6 @@ LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
 NMEDIT = @NMEDIT@
@@ -151,7 +152,6 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 am__include = @am__include@
@@ -186,6 +186,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+multi_basedir = @multi_basedir@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
similarity index 75%
rename from .pc/autoconf-archive-update/testsuite/Makefile.in
rename to .pc/stand-alone/testsuite/Makefile.in
index 9aa1ce5..fae969b 100644 (file)
@@ -37,14 +37,17 @@ target_triplet = @target@
 subdir = testsuite
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
-       $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+       $(top_srcdir)/../config/lead-dot.m4 \
+       $(top_srcdir)/../config/multi.m4 \
+       $(top_srcdir)/../config/override.m4 \
+       $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+       $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+       $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
        $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/fficonfig.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
@@ -74,7 +77,6 @@ CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -100,7 +102,6 @@ LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
 NMEDIT = @NMEDIT@
@@ -128,7 +129,6 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 am__include = @am__include@
@@ -163,6 +163,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+multi_basedir = @multi_basedir@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
 prefix = @prefix@
@@ -194,70 +195,6 @@ RUNTEST = `if [ -f $(top_srcdir)/../dejagnu/runtest ] ; then \
            else echo runtest; fi`
 
 CLEANFILES = *.exe core* *.log *.sum
-EXTRA_DIST = libffi.special/special.exp        \
-libffi.special/unwindtest_ffi_call.cc libffi.special/unwindtest.cc \
-libffi.special/ffitestcxx.h config/default.exp lib/target-libpath.exp \
-lib/libffi.exp lib/wrapper.exp libffi.call/float.c \
-libffi.call/cls_multi_schar.c libffi.call/float3.c \
-libffi.call/cls_3_1byte.c libffi.call/stret_large2.c \
-libffi.call/cls_5_1_byte.c libffi.call/stret_medium.c \
-libffi.call/promotion.c libffi.call/cls_dbls_struct.c \
-libffi.call/nested_struct.c libffi.call/closure_fn1.c \
-libffi.call/cls_4_1byte.c libffi.call/cls_float.c \
-libffi.call/cls_2byte.c libffi.call/closure_fn4.c \
-libffi.call/return_fl2.c libffi.call/nested_struct7.c \
-libffi.call/cls_uint.c libffi.call/cls_align_sint64.c \
-libffi.call/float1.c libffi.call/cls_19byte.c \
-libffi.call/nested_struct1.c libffi.call/cls_4byte.c \
-libffi.call/return_fl1.c libffi.call/cls_align_pointer.c \
-libffi.call/nested_struct4.c libffi.call/nested_struct3.c \
-libffi.call/struct7.c libffi.call/nested_struct9.c \
-libffi.call/cls_sshort.c libffi.call/cls_ulonglong.c \
-libffi.call/cls_pointer_stack.c libffi.call/cls_multi_uchar.c \
-libffi.call/testclosure.c libffi.call/cls_3byte1.c \
-libffi.call/struct6.c libffi.call/return_uc.c libffi.call/return_ll1.c \
-libffi.call/cls_ushort.c libffi.call/stret_medium2.c \
-libffi.call/cls_multi_ushortchar.c libffi.call/return_dbl2.c \
-libffi.call/closure_loc_fn0.c libffi.call/return_sc.c \
-libffi.call/nested_struct8.c libffi.call/cls_7_1_byte.c        \
-libffi.call/return_ll.c libffi.call/cls_pointer.c \
-libffi.call/err_bad_abi.c libffi.call/return_dbl1.c \
-libffi.call/call.exp libffi.call/ffitest.h libffi.call/strlen.c        \
-libffi.call/return_sl.c libffi.call/cls_1_1byte.c \
-libffi.call/struct1.c libffi.call/cls_64byte.c libffi.call/return_ul.c \
-libffi.call/cls_double.c libffi.call/many_win32.c \
-libffi.call/cls_16byte.c libffi.call/cls_align_double.c        \
-libffi.call/cls_align_uint16.c libffi.call/cls_9byte1.c        \
-libffi.call/cls_multi_sshortchar.c libffi.call/cls_multi_ushort.c \
-libffi.call/closure_stdcall.c libffi.call/return_fl.c \
-libffi.call/strlen_win32.c libffi.call/return_ldl.c \
-libffi.call/cls_align_float.c libffi.call/struct3.c \
-libffi.call/cls_uchar.c libffi.call/cls_sint.c libffi.call/float2.c \
-libffi.call/cls_align_longdouble_split.c \
-libffi.call/cls_longdouble_va.c libffi.call/cls_multi_sshort.c \
-libffi.call/stret_large.c libffi.call/cls_align_sint16.c \
-libffi.call/nested_struct6.c libffi.call/cls_5byte.c \
-libffi.call/return_dbl.c libffi.call/cls_20byte.c \
-libffi.call/cls_8byte.c libffi.call/pyobjc-tc.c        \
-libffi.call/cls_24byte.c libffi.call/cls_align_longdouble_split2.c \
-libffi.call/cls_6_1_byte.c libffi.call/cls_schar.c \
-libffi.call/cls_18byte.c libffi.call/closure_fn3.c \
-libffi.call/err_bad_typedef.c libffi.call/closure_fn2.c        \
-libffi.call/struct2.c libffi.call/cls_3byte2.c \
-libffi.call/cls_align_longdouble.c libffi.call/cls_20byte1.c \
-libffi.call/return_fl3.c libffi.call/cls_align_uint32.c        \
-libffi.call/problem1.c libffi.call/float4.c \
-libffi.call/cls_align_uint64.c libffi.call/struct9.c \
-libffi.call/closure_fn5.c libffi.call/cls_align_sint32.c \
-libffi.call/closure_fn0.c libffi.call/closure_fn6.c \
-libffi.call/struct4.c libffi.call/nested_struct2.c \
-libffi.call/cls_6byte.c libffi.call/cls_7byte.c libffi.call/many.c \
-libffi.call/struct8.c libffi.call/negint.c libffi.call/struct5.c \
-libffi.call/cls_12byte.c libffi.call/cls_double_va.c \
-libffi.call/cls_longdouble.c libffi.call/cls_9byte2.c \
-libffi.call/nested_struct10.c libffi.call/nested_struct5.c \
-libffi.call/huge_struct.c
-
 all: all-am
 
 .SUFFIXES:
diff --git a/.pc/stdcall-x86-closure-fix/.timestamp b/.pc/stdcall-x86-closure-fix/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/stdcall-x86-closure-fix/ChangeLog b/.pc/stdcall-x86-closure-fix/ChangeLog
deleted file mode 100644 (file)
index d88761e..0000000
+++ /dev/null
@@ -1,4525 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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-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-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-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/stdcall-x86-closure-fix/src/prep_cif.c b/.pc/stdcall-x86-closure-fix/src/prep_cif.c
deleted file mode 100644 (file)
index e83c928..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-/* -----------------------------------------------------------------------
-   prep_cif.c - Copyright (c) 2012  Anthony Green
-                Copyright (c) 1996, 1998, 2007  Red Hat, Inc.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-/* Round up to FFI_SIZEOF_ARG. */
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-/* Perform machine independent initialization of aggregate type
-   specifications. */
-
-static ffi_status initialize_aggregate(ffi_type *arg)
-{
-  ffi_type **ptr;
-
-  FFI_ASSERT(arg != NULL);
-
-  FFI_ASSERT(arg->elements != NULL);
-  FFI_ASSERT(arg->size == 0);
-  FFI_ASSERT(arg->alignment == 0);
-
-  ptr = &(arg->elements[0]);
-
-  while ((*ptr) != NULL)
-    {
-      if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
-       return FFI_BAD_TYPEDEF;
-
-      /* Perform a sanity check on the argument type */
-      FFI_ASSERT_VALID_TYPE(*ptr);
-
-      arg->size = ALIGN(arg->size, (*ptr)->alignment);
-      arg->size += (*ptr)->size;
-
-      arg->alignment = (arg->alignment > (*ptr)->alignment) ?
-       arg->alignment : (*ptr)->alignment;
-
-      ptr++;
-    }
-
-  /* Structure size includes tail padding.  This is important for
-     structures that fit in one register on ABIs like the PowerPC64
-     Linux ABI that right justify small structs in a register.
-     It's also needed for nested structure layout, for example
-     struct A { long a; char b; }; struct B { struct A x; char y; };
-     should find y at an offset of 2*sizeof(long) and result in a
-     total size of 3*sizeof(long).  */
-  arg->size = ALIGN (arg->size, arg->alignment);
-
-  if (arg->size == 0)
-    return FFI_BAD_TYPEDEF;
-  else
-    return FFI_OK;
-}
-
-#ifndef __CRIS__
-/* The CRIS ABI specifies structure elements to have byte
-   alignment only, so it completely overrides this functions,
-   which assumes "natural" alignment and padding.  */
-
-/* Perform machine independent ffi_cif preparation, then call
-   machine dependent routine. */
-
-ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
-                       ffi_type *rtype, ffi_type **atypes)
-{
-  unsigned bytes = 0;
-  unsigned int i;
-  ffi_type **ptr;
-
-  FFI_ASSERT(cif != NULL);
-#ifndef X86_WIN32
-  FFI_ASSERT((abi > FFI_FIRST_ABI) && (abi <= FFI_DEFAULT_ABI));
-#else
-  FFI_ASSERT(abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI
-            || abi == FFI_THISCALL);
-#endif
-
-  cif->abi = abi;
-  cif->arg_types = atypes;
-  cif->nargs = nargs;
-  cif->rtype = rtype;
-
-  cif->flags = 0;
-
-  /* Initialize the return type if necessary */
-  if ((cif->rtype->size == 0) && (initialize_aggregate(cif->rtype) != FFI_OK))
-    return FFI_BAD_TYPEDEF;
-
-  /* Perform a sanity check on the return type */
-  FFI_ASSERT_VALID_TYPE(cif->rtype);
-
-  /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */
-#if !defined M68K && !defined __i386__ && !defined __x86_64__ && !defined S390 && !defined PA
-  /* Make space for the return structure pointer */
-  if (cif->rtype->type == FFI_TYPE_STRUCT
-#ifdef SPARC
-      && (cif->abi != FFI_V9 || cif->rtype->size > 32)
-#endif
-     )
-    bytes = STACK_ARG_SIZE(sizeof(void*));
-#endif
-
-  for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-    {
-
-      /* Initialize any uninitialized aggregate type definitions */
-      if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
-       return FFI_BAD_TYPEDEF;
-
-      /* Perform a sanity check on the argument type, do this
-        check after the initialization.  */
-      FFI_ASSERT_VALID_TYPE(*ptr);
-
-#if !defined __i386__ && !defined __x86_64__ && !defined S390 && !defined PA
-#ifdef SPARC
-      if (((*ptr)->type == FFI_TYPE_STRUCT
-          && ((*ptr)->size > 16 || cif->abi != FFI_V9))
-         || ((*ptr)->type == FFI_TYPE_LONGDOUBLE
-             && cif->abi != FFI_V9))
-       bytes += sizeof(void*);
-      else
-#endif
-       {
-         /* Add any padding if necessary */
-         if (((*ptr)->alignment - 1) & bytes)
-           bytes = ALIGN(bytes, (*ptr)->alignment);
-
-         bytes += STACK_ARG_SIZE((*ptr)->size);
-       }
-#endif
-    }
-
-  cif->bytes = bytes;
-
-  /* Perform machine dependent cif processing */
-  return ffi_prep_cif_machdep(cif);
-}
-#endif /* not __CRIS__ */
-
-#if FFI_CLOSURES
-
-ffi_status
-ffi_prep_closure (ffi_closure* closure,
-                 ffi_cif* cif,
-                 void (*fun)(ffi_cif*,void*,void**,void*),
-                 void *user_data)
-{
-  return ffi_prep_closure_loc (closure, cif, fun, user_data, closure);
-}
-
-#endif
diff --git a/.pc/stdcall-x86-closure-fix/src/x86/ffi.c b/.pc/stdcall-x86-closure-fix/src/x86/ffi.c
deleted file mode 100644 (file)
index 0e2f87e..0000000
+++ /dev/null
@@ -1,813 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 1996, 1998, 1999, 2001, 2007, 2008  Red Hat, Inc.
-           Copyright (c) 2002  Ranjit Mathew
-           Copyright (c) 2002  Bo Thorsen
-           Copyright (c) 2002  Roger Sayle
-           Copyright (C) 2008, 2010  Free Software Foundation, Inc.
-
-   x86 Foreign Function Interface
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#if !defined(__x86_64__) || defined(_WIN64)
-
-#ifdef _WIN64
-#include <windows.h>
-#endif
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-/* ffi_prep_args is called by the assembly routine once stack space
-   has been allocated for the function's arguments */
-
-void ffi_prep_args(char *stack, extended_cif *ecif)
-{
-  register unsigned int i;
-  register void **p_argv;
-  register char *argp;
-  register ffi_type **p_arg;
-#ifdef X86_WIN32
-  size_t p_stack_args[2];
-  void *p_stack_data[2];
-  char *argp2 = stack;
-  int stack_args_count = 0;
-  int cabi = ecif->cif->abi;
-#endif
-
-  argp = stack;
-
-  if (ecif->cif->flags == FFI_TYPE_STRUCT
-#ifdef X86_WIN64
-      && (ecif->cif->rtype->size != 1 && ecif->cif->rtype->size != 2
-          && ecif->cif->rtype->size != 4 && ecif->cif->rtype->size != 8)
-#endif
-      )
-    {
-      *(void **) argp = ecif->rvalue;
-#ifdef X86_WIN32
-      /* For fastcall/thiscall this is first register-passed
-         argument.  */
-      if (cabi == FFI_THISCALL || cabi == FFI_FASTCALL)
-       {
-         p_stack_args[stack_args_count] = sizeof (void*);
-         p_stack_data[stack_args_count] = argp;
-         ++stack_args_count;
-       }
-#endif
-      argp += sizeof(void*);
-    }
-
-  p_argv = ecif->avalue;
-
-  for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
-       i != 0;
-       i--, p_arg++)
-    {
-      size_t z;
-
-      /* Align if necessary */
-      if ((sizeof(void*) - 1) & (size_t) argp)
-        argp = (char *) ALIGN(argp, sizeof(void*));
-
-      z = (*p_arg)->size;
-#ifdef X86_WIN64
-      if (z > sizeof(ffi_arg)
-          || ((*p_arg)->type == FFI_TYPE_STRUCT
-              && (z != 1 && z != 2 && z != 4 && z != 8))
-#if FFI_TYPE_DOUBLE != FFI_TYPE_LONGDOUBLE
-          || ((*p_arg)->type == FFI_TYPE_LONGDOUBLE)
-#endif
-          )
-        {
-          z = sizeof(ffi_arg);
-          *(void **)argp = *p_argv;
-        }
-      else if ((*p_arg)->type == FFI_TYPE_FLOAT)
-        {
-          memcpy(argp, *p_argv, z);
-        }
-      else
-#endif
-      if (z < sizeof(ffi_arg))
-        {
-          z = sizeof(ffi_arg);
-          switch ((*p_arg)->type)
-            {
-            case FFI_TYPE_SINT8:
-              *(ffi_sarg *) argp = (ffi_sarg)*(SINT8 *)(* p_argv);
-              break;
-
-            case FFI_TYPE_UINT8:
-              *(ffi_arg *) argp = (ffi_arg)*(UINT8 *)(* p_argv);
-              break;
-
-            case FFI_TYPE_SINT16:
-              *(ffi_sarg *) argp = (ffi_sarg)*(SINT16 *)(* p_argv);
-              break;
-
-            case FFI_TYPE_UINT16:
-              *(ffi_arg *) argp = (ffi_arg)*(UINT16 *)(* p_argv);
-              break;
-
-            case FFI_TYPE_SINT32:
-              *(ffi_sarg *) argp = (ffi_sarg)*(SINT32 *)(* p_argv);
-              break;
-
-            case FFI_TYPE_UINT32:
-              *(ffi_arg *) argp = (ffi_arg)*(UINT32 *)(* p_argv);
-              break;
-
-            case FFI_TYPE_STRUCT:
-              *(ffi_arg *) argp = *(ffi_arg *)(* p_argv);
-              break;
-
-            default:
-              FFI_ASSERT(0);
-            }
-        }
-      else
-        {
-          memcpy(argp, *p_argv, z);
-        }
-
-#ifdef X86_WIN32
-    /* For thiscall/fastcall convention register-passed arguments
-       are the first two none-floating-point arguments with a size
-       smaller or equal to sizeof (void*).  */
-    if ((cabi == FFI_THISCALL && stack_args_count < 1)
-        || (cabi == FFI_FASTCALL && stack_args_count < 2))
-      {
-       if (z <= 4
-           && ((*p_arg)->type != FFI_TYPE_FLOAT
-               && (*p_arg)->type != FFI_TYPE_STRUCT))
-         {
-           p_stack_args[stack_args_count] = z;
-           p_stack_data[stack_args_count] = argp;
-           ++stack_args_count;
-         }
-      }
-#endif
-      p_argv++;
-#ifdef X86_WIN64
-      argp += (z + sizeof(void*) - 1) & ~(sizeof(void*) - 1);
-#else
-      argp += z;
-#endif
-    }
-
-#ifdef X86_WIN32
-  /* We need to move the register-passed arguments for thiscall/fastcall
-     on top of stack, so that those can be moved to registers ecx/edx by
-     call-handler.  */
-  if (stack_args_count > 0)
-    {
-      size_t zz = (p_stack_args[0] + 3) & ~3;
-      char *h;
-
-      /* Move first argument to top-stack position.  */
-      if (p_stack_data[0] != argp2)
-       {
-         h = alloca (zz + 1);
-         memcpy (h, p_stack_data[0], zz);
-         memmove (argp2 + zz, argp2,
-                  (size_t) ((char *) p_stack_data[0] - (char*)argp2));
-         memcpy (argp2, h, zz);
-       }
-
-      argp2 += zz;
-      --stack_args_count;
-      if (zz > 4)
-       stack_args_count = 0;
-
-      /* If we have a second argument, then move it on top
-         after the first one.  */
-      if (stack_args_count > 0 && p_stack_data[1] != argp2)
-       {
-         zz = p_stack_args[1];
-         zz = (zz + 3) & ~3;
-         h = alloca (zz + 1);
-         h = alloca (zz + 1);
-         memcpy (h, p_stack_data[1], zz);
-         memmove (argp2 + zz, argp2, (size_t) ((char*) p_stack_data[1] - (char*)argp2));
-         memcpy (argp2, h, zz);
-       }
-    }
-#endif
-  return;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
-  unsigned int i;
-  ffi_type **ptr;
-
-  /* Set the return type flag */
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_VOID:
-#if defined(X86) || defined (X86_WIN32) || defined(X86_FREEBSD) || defined(X86_DARWIN) || defined(X86_WIN64)
-    case FFI_TYPE_UINT8:
-    case FFI_TYPE_UINT16:
-    case FFI_TYPE_SINT8:
-    case FFI_TYPE_SINT16:
-#endif
-#ifdef X86_WIN64
-    case FFI_TYPE_UINT32:
-    case FFI_TYPE_SINT32:
-#endif
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-#ifndef X86_WIN64
-#if FFI_TYPE_DOUBLE != FFI_TYPE_LONGDOUBLE
-    case FFI_TYPE_LONGDOUBLE:
-#endif
-#endif
-      cif->flags = (unsigned) cif->rtype->type;
-      break;
-
-    case FFI_TYPE_UINT64:
-#ifdef X86_WIN64
-    case FFI_TYPE_POINTER:
-#endif
-      cif->flags = FFI_TYPE_SINT64;
-      break;
-
-    case FFI_TYPE_STRUCT:
-#ifndef X86
-      if (cif->rtype->size == 1)
-        {
-          cif->flags = FFI_TYPE_SMALL_STRUCT_1B; /* same as char size */
-        }
-      else if (cif->rtype->size == 2)
-        {
-          cif->flags = FFI_TYPE_SMALL_STRUCT_2B; /* same as short size */
-        }
-      else if (cif->rtype->size == 4)
-        {
-#ifdef X86_WIN64
-          cif->flags = FFI_TYPE_SMALL_STRUCT_4B;
-#else
-          cif->flags = FFI_TYPE_INT; /* same as int type */
-#endif
-        }
-      else if (cif->rtype->size == 8)
-        {
-          cif->flags = FFI_TYPE_SINT64; /* same as int64 type */
-        }
-      else
-#endif
-        {
-          cif->flags = FFI_TYPE_STRUCT;
-          /* allocate space for return value pointer */
-          cif->bytes += ALIGN(sizeof(void*), FFI_SIZEOF_ARG);
-        }
-      break;
-
-    default:
-#ifdef X86_WIN64
-      cif->flags = FFI_TYPE_SINT64;
-      break;
-    case FFI_TYPE_INT:
-      cif->flags = FFI_TYPE_SINT32;
-#else
-      cif->flags = FFI_TYPE_INT;
-#endif
-      break;
-    }
-
-  for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-    {
-      if (((*ptr)->alignment - 1) & cif->bytes)
-        cif->bytes = ALIGN(cif->bytes, (*ptr)->alignment);
-      cif->bytes += ALIGN((*ptr)->size, FFI_SIZEOF_ARG);
-    }
-
-#ifdef X86_WIN64
-  /* ensure space for storing four registers */
-  cif->bytes += 4 * sizeof(ffi_arg);
-#endif
-
-#ifdef X86_DARWIN
-  cif->bytes = (cif->bytes + 15) & ~0xF;
-#endif
-
-  return FFI_OK;
-}
-
-#ifdef X86_WIN64
-extern int
-ffi_call_win64(void (*)(char *, extended_cif *), extended_cif *,
-               unsigned, unsigned, unsigned *, void (*fn)(void));
-#elif defined(X86_WIN32)
-extern void
-ffi_call_win32(void (*)(char *, extended_cif *), extended_cif *,
-               unsigned, unsigned, unsigned, unsigned *, void (*fn)(void));
-#else
-extern void ffi_call_SYSV(void (*)(char *, extended_cif *), extended_cif *,
-                          unsigned, unsigned, unsigned *, void (*fn)(void));
-#endif
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-  
-  /* If the return value is a struct and we don't have a return */
-  /* value address then we need to make one                     */
-
-#ifdef X86_WIN64
-  if (rvalue == NULL
-      && cif->flags == FFI_TYPE_STRUCT
-      && cif->rtype->size != 1 && cif->rtype->size != 2
-      && cif->rtype->size != 4 && cif->rtype->size != 8)
-    {
-      ecif.rvalue = alloca((cif->rtype->size + 0xF) & ~0xF);
-    }
-#else
-  if (rvalue == NULL
-      && cif->flags == FFI_TYPE_STRUCT)
-    {
-      ecif.rvalue = alloca(cif->rtype->size);
-    }
-#endif
-  else
-    ecif.rvalue = rvalue;
-    
-  
-  switch (cif->abi) 
-    {
-#ifdef X86_WIN64
-    case FFI_WIN64:
-      ffi_call_win64(ffi_prep_args, &ecif, cif->bytes,
-                     cif->flags, ecif.rvalue, fn);
-      break;
-#elif defined(X86_WIN32)
-    case FFI_SYSV:
-    case FFI_STDCALL:
-      ffi_call_win32(ffi_prep_args, &ecif, cif->abi, cif->bytes, cif->flags,
-                    ecif.rvalue, fn);
-      break;
-    case FFI_THISCALL:
-    case FFI_FASTCALL:
-      {
-       unsigned int abi = cif->abi;
-       unsigned int i, passed_regs = 0;
-
-       if (cif->flags == FFI_TYPE_STRUCT)
-         ++passed_regs;
-
-       for (i=0; i < cif->nargs && passed_regs < 2;i++)
-         {
-           size_t sz;
-
-           if (cif->arg_types[i]->type == FFI_TYPE_FLOAT
-               || cif->arg_types[i]->type == FFI_TYPE_STRUCT)
-             continue;
-           sz = (cif->arg_types[i]->size + 3) & ~3;
-           if (sz == 0 || sz > 4)
-             continue;
-           ++passed_regs;
-         }
-       if (passed_regs < 2 && abi == FFI_FASTCALL)
-         abi = FFI_THISCALL;
-       if (passed_regs < 1 && abi == FFI_THISCALL)
-         abi = FFI_STDCALL;
-        ffi_call_win32(ffi_prep_args, &ecif, abi, cif->bytes, cif->flags,
-                       ecif.rvalue, fn);
-      }
-      break;
-#else
-    case FFI_SYSV:
-      ffi_call_SYSV(ffi_prep_args, &ecif, cif->bytes, cif->flags, ecif.rvalue,
-                    fn);
-      break;
-#endif
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-}
-
-
-/** private members **/
-
-/* The following __attribute__((regparm(1))) decorations will have no effect
-   on MSVC - standard cdecl convention applies. */
-static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
-                                         void** args, ffi_cif* cif);
-void FFI_HIDDEN ffi_closure_SYSV (ffi_closure *)
-     __attribute__ ((regparm(1)));
-unsigned int FFI_HIDDEN ffi_closure_SYSV_inner (ffi_closure *, void **, void *)
-     __attribute__ ((regparm(1)));
-void FFI_HIDDEN ffi_closure_raw_SYSV (ffi_raw_closure *)
-     __attribute__ ((regparm(1)));
-#ifdef X86_WIN32
-void FFI_HIDDEN ffi_closure_STDCALL (ffi_closure *)
-     __attribute__ ((regparm(1)));
-void FFI_HIDDEN ffi_closure_THISCALL (ffi_closure *)
-     __attribute__ ((regparm(1)));
-#endif
-#ifdef X86_WIN64
-void FFI_HIDDEN ffi_closure_win64 (ffi_closure *);
-#endif
-
-/* This function is jumped to by the trampoline */
-
-#ifdef X86_WIN64
-void * FFI_HIDDEN
-ffi_closure_win64_inner (ffi_closure *closure, void *args) {
-  ffi_cif       *cif;
-  void         **arg_area;
-  void          *result;
-  void          *resp = &result;
-
-  cif         = closure->cif;
-  arg_area    = (void**) alloca (cif->nargs * sizeof (void*));  
-
-  /* this call will initialize ARG_AREA, such that each
-   * element in that array points to the corresponding 
-   * value on the stack; and if the function returns
-   * a structure, it will change RESP to point to the
-   * structure return address.  */
-
-  ffi_prep_incoming_args_SYSV(args, &resp, arg_area, cif);
-  
-  (closure->fun) (cif, resp, arg_area, closure->user_data);
-
-  /* The result is returned in rax.  This does the right thing for
-     result types except for floats; we have to 'mov xmm0, rax' in the
-     caller to correct this.
-     TODO: structure sizes of 3 5 6 7 are returned by reference, too!!!
-  */
-  return cif->rtype->size > sizeof(void *) ? resp : *(void **)resp;
-}
-
-#else
-unsigned int FFI_HIDDEN __attribute__ ((regparm(1)))
-ffi_closure_SYSV_inner (ffi_closure *closure, void **respp, void *args)
-{
-  /* our various things...  */
-  ffi_cif       *cif;
-  void         **arg_area;
-
-  cif         = closure->cif;
-  arg_area    = (void**) alloca (cif->nargs * sizeof (void*));  
-
-  /* this call will initialize ARG_AREA, such that each
-   * element in that array points to the corresponding 
-   * value on the stack; and if the function returns
-   * a structure, it will change RESP to point to the
-   * structure return address.  */
-
-  ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif);
-
-  (closure->fun) (cif, *respp, arg_area, closure->user_data);
-
-  return cif->flags;
-}
-#endif /* !X86_WIN64 */
-
-static void
-ffi_prep_incoming_args_SYSV(char *stack, void **rvalue, void **avalue,
-                            ffi_cif *cif)
-{
-  register unsigned int i;
-  register void **p_argv;
-  register char *argp;
-  register ffi_type **p_arg;
-
-  argp = stack;
-
-#ifdef X86_WIN64
-  if (cif->rtype->size > sizeof(ffi_arg)
-      || (cif->flags == FFI_TYPE_STRUCT
-          && (cif->rtype->size != 1 && cif->rtype->size != 2
-              && cif->rtype->size != 4 && cif->rtype->size != 8))) {
-    *rvalue = *(void **) argp;
-    argp += sizeof(void *);
-  }
-#else
-  if ( cif->flags == FFI_TYPE_STRUCT ) {
-    *rvalue = *(void **) argp;
-    argp += sizeof(void *);
-  }
-#endif
-
-  p_argv = avalue;
-
-  for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
-    {
-      size_t z;
-
-      /* Align if necessary */
-      if ((sizeof(void*) - 1) & (size_t) argp) {
-        argp = (char *) ALIGN(argp, sizeof(void*));
-      }
-
-#ifdef X86_WIN64
-      if ((*p_arg)->size > sizeof(ffi_arg)
-          || ((*p_arg)->type == FFI_TYPE_STRUCT
-              && ((*p_arg)->size != 1 && (*p_arg)->size != 2
-                  && (*p_arg)->size != 4 && (*p_arg)->size != 8)))
-        {
-          z = sizeof(void *);
-          *p_argv = *(void **)argp;
-        }
-      else
-#endif
-        {
-          z = (*p_arg)->size;
-          
-          /* because we're little endian, this is what it turns into.   */
-          
-          *p_argv = (void*) argp;
-        }
-          
-      p_argv++;
-#ifdef X86_WIN64
-      argp += (z + sizeof(void*) - 1) & ~(sizeof(void*) - 1);
-#else
-      argp += z;
-#endif
-    }
-  
-  return;
-}
-
-#define FFI_INIT_TRAMPOLINE_WIN64(TRAMP,FUN,CTX,MASK) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
-   void*  __fun = (void*)(FUN); \
-   void*  __ctx = (void*)(CTX); \
-   *(unsigned char*) &__tramp[0] = 0x41; \
-   *(unsigned char*) &__tramp[1] = 0xbb; \
-   *(unsigned int*) &__tramp[2] = MASK; /* mov $mask, %r11 */ \
-   *(unsigned char*) &__tramp[6] = 0x48; \
-   *(unsigned char*) &__tramp[7] = 0xb8; \
-   *(void**) &__tramp[8] = __ctx; /* mov __ctx, %rax */ \
-   *(unsigned char *)  &__tramp[16] = 0x49; \
-   *(unsigned char *)  &__tramp[17] = 0xba; \
-   *(void**) &__tramp[18] = __fun; /* mov __fun, %r10 */ \
-   *(unsigned char *)  &__tramp[26] = 0x41; \
-   *(unsigned char *)  &__tramp[27] = 0xff; \
-   *(unsigned char *)  &__tramp[28] = 0xe2; /* jmp %r10 */ \
- }
-
-/* How to make a trampoline.  Derived from gcc/config/i386/i386.c. */
-
-#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
-   unsigned int  __fun = (unsigned int)(FUN); \
-   unsigned int  __ctx = (unsigned int)(CTX); \
-   unsigned int  __dis = __fun - (__ctx + 10);  \
-   *(unsigned char*) &__tramp[0] = 0xb8; \
-   *(unsigned int*)  &__tramp[1] = __ctx; /* movl __ctx, %eax */ \
-   *(unsigned char *)  &__tramp[5] = 0xe9; \
-   *(unsigned int*)  &__tramp[6] = __dis; /* jmp __fun  */ \
- }
-
-#define FFI_INIT_TRAMPOLINE_THISCALL(TRAMP,FUN,CTX,SIZE) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
-   unsigned int  __fun = (unsigned int)(FUN); \
-   unsigned int  __ctx = (unsigned int)(CTX); \
-   unsigned int  __dis = __fun - (__ctx + 22);  \
-   unsigned short __size = (unsigned short)(SIZE); \
-   *(unsigned int *) &__tramp[0] = 0x8324048b; /* mov (%esp), %eax */ \
-   *(unsigned int *) &__tramp[4] = 0x4c890cec; /* sub $12, %esp */ \
-   *(unsigned int *) &__tramp[8] = 0x04890424; /* mov %ecx, 4(%esp) */ \
-   *(unsigned char*) &__tramp[12] = 0x24;      /* mov %eax, (%esp) */ \
-   *(unsigned char*) &__tramp[13] = 0xb8; \
-   *(unsigned int *) &__tramp[14] = __size;    /* mov __size, %eax */ \
-   *(unsigned int *) &__tramp[18] = 0x08244c8d;        /* lea 8(%esp), %ecx */ \
-   *(unsigned int *) &__tramp[22] = 0x4802e8c1; /* shr $2, %eax ; dec %eax */ \
-   *(unsigned short*) &__tramp[26] = 0x0b74;   /* jz 1f */ \
-   *(unsigned int *) &__tramp[28] = 0x8908518b;        /* 2b: mov 8(%ecx), %edx */ \
-   *(unsigned int *) &__tramp[32] = 0x04c18311; /* mov %edx, (%ecx) ; add $4, %ecx */ \
-   *(unsigned char*) &__tramp[36] = 0x48;      /* dec %eax */ \
-   *(unsigned short*) &__tramp[37] = 0xf575;   /* jnz 2b ; 1f: */ \
-   *(unsigned char*) &__tramp[39] = 0xb8; \
-   *(unsigned int*)  &__tramp[40] = __ctx; /* movl __ctx, %eax */ \
-   *(unsigned char *)  &__tramp[44] = 0xe8; \
-   *(unsigned int*)  &__tramp[45] = __dis; /* call __fun  */ \
-   *(unsigned char*)  &__tramp[49] = 0xc2; /* ret  */ \
-   *(unsigned short*)  &__tramp[50] = (__size + 8); /* ret (__size + 8)  */ \
- }
-
-#define FFI_INIT_TRAMPOLINE_STDCALL(TRAMP,FUN,CTX,SIZE)  \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
-   unsigned int  __fun = (unsigned int)(FUN); \
-   unsigned int  __ctx = (unsigned int)(CTX); \
-   unsigned int  __dis = __fun - (__ctx + 10); \
-   unsigned short __size = (unsigned short)(SIZE); \
-   *(unsigned char*) &__tramp[0] = 0xb8; \
-   *(unsigned int*)  &__tramp[1] = __ctx; /* movl __ctx, %eax */ \
-   *(unsigned char *)  &__tramp[5] = 0xe8; \
-   *(unsigned int*)  &__tramp[6] = __dis; /* call __fun  */ \
-   *(unsigned char *)  &__tramp[10] = 0xc2; \
-   *(unsigned short*)  &__tramp[11] = __size; /* ret __size  */ \
- }
-
-/* the cif must already be prep'ed */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                      ffi_cif* cif,
-                      void (*fun)(ffi_cif*,void*,void**,void*),
-                      void *user_data,
-                      void *codeloc)
-{
-#ifdef X86_WIN64
-#define ISFLOAT(IDX) (cif->arg_types[IDX]->type == FFI_TYPE_FLOAT || cif->arg_types[IDX]->type == FFI_TYPE_DOUBLE)
-#define FLAG(IDX) (cif->nargs>(IDX)&&ISFLOAT(IDX)?(1<<(IDX)):0)
-  if (cif->abi == FFI_WIN64) 
-    {
-      int mask = FLAG(0)|FLAG(1)|FLAG(2)|FLAG(3);
-      FFI_INIT_TRAMPOLINE_WIN64 (&closure->tramp[0],
-                                 &ffi_closure_win64,
-                                 codeloc, mask);
-      /* make sure we can execute here */
-    }
-#else
-  if (cif->abi == FFI_SYSV)
-    {
-      FFI_INIT_TRAMPOLINE (&closure->tramp[0],
-                           &ffi_closure_SYSV,
-                           (void*)codeloc);
-    }
-#ifdef X86_WIN32
-  else if (cif->abi == FFI_THISCALL)
-    {
-      FFI_INIT_TRAMPOLINE_THISCALL (&closure->tramp[0],
-                                   &ffi_closure_THISCALL,
-                                   (void*)codeloc,
-                                   cif->bytes);
-    }
-  else if (cif->abi == FFI_STDCALL)
-    {
-      FFI_INIT_TRAMPOLINE_STDCALL (&closure->tramp[0],
-                                   &ffi_closure_STDCALL,
-                                   (void*)codeloc, cif->bytes);
-    }
-#endif /* X86_WIN32 */
-#endif /* !X86_WIN64 */
-  else
-    {
-      return FFI_BAD_ABI;
-    }
-    
-  closure->cif  = cif;
-  closure->user_data = user_data;
-  closure->fun  = fun;
-
-  return FFI_OK;
-}
-
-/* ------- Native raw API support -------------------------------- */
-
-#if !FFI_NO_RAW_API
-
-ffi_status
-ffi_prep_raw_closure_loc (ffi_raw_closure* closure,
-                          ffi_cif* cif,
-                          void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
-                          void *user_data,
-                          void *codeloc)
-{
-  int i;
-
-  if (cif->abi != FFI_SYSV) {
-    return FFI_BAD_ABI;
-  }
-
-  /* we currently don't support certain kinds of arguments for raw
-     closures.  This should be implemented by a separate assembly
-     language routine, since it would require argument processing,
-     something we don't do now for performance.  */
-
-  for (i = cif->nargs-1; i >= 0; i--)
-    {
-      FFI_ASSERT (cif->arg_types[i]->type != FFI_TYPE_STRUCT);
-      FFI_ASSERT (cif->arg_types[i]->type != FFI_TYPE_LONGDOUBLE);
-    }
-  
-
-  FFI_INIT_TRAMPOLINE (&closure->tramp[0], &ffi_closure_raw_SYSV,
-                       codeloc);
-    
-  closure->cif  = cif;
-  closure->user_data = user_data;
-  closure->fun  = fun;
-
-  return FFI_OK;
-}
-
-static void 
-ffi_prep_args_raw(char *stack, extended_cif *ecif)
-{
-  memcpy (stack, ecif->avalue, ecif->cif->bytes);
-}
-
-/* we borrow this routine from libffi (it must be changed, though, to
- * actually call the function passed in the first argument.  as of
- * libffi-1.20, this is not the case.)
- */
-
-void
-ffi_raw_call(ffi_cif *cif, void (*fn)(void), void *rvalue, ffi_raw *fake_avalue)
-{
-  extended_cif ecif;
-  void **avalue = (void **)fake_avalue;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-  
-  /* If the return value is a struct and we don't have a return */
-  /* value address then we need to make one                     */
-
-  if ((rvalue == NULL) && 
-      (cif->rtype->type == FFI_TYPE_STRUCT))
-    {
-      ecif.rvalue = alloca(cif->rtype->size);
-    }
-  else
-    ecif.rvalue = rvalue;
-    
-  
-  switch (cif->abi) 
-    {
-#ifdef X86_WIN32
-    case FFI_SYSV:
-    case FFI_STDCALL:
-      ffi_call_win32(ffi_prep_args, &ecif, cif->abi, cif->bytes, cif->flags,
-                    ecif.rvalue, fn);
-      break;
-    case FFI_THISCALL:
-    case FFI_FASTCALL:
-      {
-       unsigned int abi = cif->abi;
-       unsigned int i, passed_regs = 0;
-
-       if (cif->flags == FFI_TYPE_STRUCT)
-         ++passed_regs;
-
-       for (i=0; i < cif->nargs && passed_regs < 2;i++)
-         {
-           size_t sz;
-
-           if (cif->arg_types[i]->type == FFI_TYPE_FLOAT
-               || cif->arg_types[i]->type == FFI_TYPE_STRUCT)
-             continue;
-           sz = (cif->arg_types[i]->size + 3) & ~3;
-           if (sz == 0 || sz > 4)
-             continue;
-           ++passed_regs;
-         }
-       if (passed_regs < 2 && abi == FFI_FASTCALL)
-         cif->abi = abi = FFI_THISCALL;
-       if (passed_regs < 1 && abi == FFI_THISCALL)
-         cif->abi = abi = FFI_STDCALL;
-        ffi_call_win32(ffi_prep_args, &ecif, abi, cif->bytes, cif->flags,
-                       ecif.rvalue, fn);
-      }
-      break;
-#else
-    case FFI_SYSV:
-      ffi_call_SYSV(ffi_prep_args_raw, &ecif, cif->bytes, cif->flags,
-                    ecif.rvalue, fn);
-      break;
-#endif
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-}
-
-#endif
-
-#endif /* !__x86_64__  || X86_WIN64 */
-
diff --git a/.pc/stdcall-x86-closure-fix/src/x86/ffitarget.h b/.pc/stdcall-x86-closure-fix/src/x86/ffitarget.h
deleted file mode 100644 (file)
index 8cce3a8..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 2012  Anthony Green
-                 Copyright (c) 1996-2003, 2010  Red Hat, Inc.
-                 Copyright (C) 2008  Free Software Foundation, Inc.
-
-   Target configuration macros for x86 and x86-64.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-/* ---- System specific configurations ----------------------------------- */
-
-#if defined (X86_64) && defined (__i386__)
-#undef X86_64
-#define X86
-#endif
-
-#ifdef X86_WIN64
-#define FFI_SIZEOF_ARG 8
-#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */
-#endif
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-#ifdef X86_WIN64
-#ifdef _MSC_VER
-typedef unsigned __int64       ffi_arg;
-typedef __int64                ffi_sarg;
-#else
-typedef unsigned long long     ffi_arg;
-typedef long long              ffi_sarg;
-#endif
-#else
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-#endif
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-
-  /* ---- Intel x86 Win32 ---------- */
-#ifdef X86_WIN32
-  FFI_SYSV,
-  FFI_STDCALL,
-  FFI_THISCALL,
-  FFI_FASTCALL,
-  FFI_LAST_ABI,
-  /* TODO: Add fastcall support for the sake of completeness */
-  FFI_DEFAULT_ABI = FFI_SYSV
-#endif
-
-#ifdef X86_WIN64
-  FFI_WIN64,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_WIN64
-#else
-
-  /* ---- Intel x86 and AMD x86-64 - */
-#if !defined(X86_WIN32) && (defined(__i386__) || defined(__x86_64__) || defined(__i386) || defined(__amd64))
-  FFI_SYSV,
-  FFI_UNIX64,   /* Unix variants all use the same ABI for x86-64  */
-  FFI_LAST_ABI,
-#if defined(__i386__) || defined(__i386)
-  FFI_DEFAULT_ABI = FFI_SYSV
-#else
-  FFI_DEFAULT_ABI = FFI_UNIX64
-#endif
-#endif
-#endif /* X86_WIN64 */
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
-#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
-#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
-
-#if defined (X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
-#define FFI_TRAMPOLINE_SIZE 24
-#define FFI_NATIVE_RAW_API 0
-#else
-#ifdef X86_WIN32
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#ifdef X86_WIN64
-#define FFI_TRAMPOLINE_SIZE 29
-#define FFI_NATIVE_RAW_API 0
-#define FFI_NO_RAW_API 1
-#else
-#define FFI_TRAMPOLINE_SIZE 10
-#endif
-#endif
-#ifndef X86_WIN64
-#define FFI_NATIVE_RAW_API 1   /* x86 has native raw api support */
-#endif
-#endif
-
-#endif
-
diff --git a/.pc/ungccify/.timestamp b/.pc/ungccify/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/ungccify/Makefile.am b/.pc/ungccify/Makefile.am
deleted file mode 100644 (file)
index 073fb0d..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-## Process this with automake to create Makefile.in
-
-AUTOMAKE_OPTIONS = foreign subdir-objects
-
-SUBDIRS = include testsuite man
-
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
-       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
-       src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
-       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
-       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
-       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
-       src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
-       src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
-       src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
-       src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
-       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
-       src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
-       src/powerpc/darwin.S src/powerpc/aix_closure.S \
-       src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
-       src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
-       src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
-       src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
-       src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
-       src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
-       src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
-       src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
-       src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
-       src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
-       src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
-       src/moxie/ffi.c src/moxie/eabi.S libtool-version \
-       ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
-       m4/ltoptions.m4 m4/ltsugar.m4
-       m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh
-
-info_TEXINFOS = doc/libffi.texi
-
-## ################################################################
-
-##
-## This section is for make and multilib madness.
-##
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
-       "AR_FLAGS=$(AR_FLAGS)" \
-       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
-       "CFLAGS=$(CFLAGS)" \
-       "CXXFLAGS=$(CXXFLAGS)" \
-       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
-       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
-       "INSTALL=$(INSTALL)" \
-       "INSTALL_DATA=$(INSTALL_DATA)" \
-       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
-       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
-       "JC1FLAGS=$(JC1FLAGS)" \
-       "LDFLAGS=$(LDFLAGS)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
-       "MAKE=$(MAKE)" \
-       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
-       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-       "SHELL=$(SHELL)" \
-       "exec_prefix=$(exec_prefix)" \
-       "infodir=$(infodir)" \
-       "libdir=$(libdir)" \
-       "mandir=$(mandir)" \
-       "prefix=$(prefix)" \
-       "AR=$(AR)" \
-       "AS=$(AS)" \
-       "CC=$(CC)" \
-       "CXX=$(CXX)" \
-       "LD=$(LD)" \
-       "NM=$(NM)" \
-       "RANLIB=$(RANLIB)" \
-       "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES=
-
-ACLOCAL_AMFLAGS=$(ACLOCAL_AMFLAGS) -I m4
-
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
-               src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-
-nodist_libffi_la_SOURCES =
-
-if MIPS
-nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-endif
-if X86
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S
-endif
-if X86_FREEBSD
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/freebsd.S
-endif
-if X86_WIN32
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win32.S
-endif
-if X86_WIN64
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win64.S
-endif
-if X86_DARWIN
-nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-endif
-if SPARC
-nodist_libffi_la_SOURCES += src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-endif
-if ALPHA
-nodist_libffi_la_SOURCES += src/alpha/ffi.c src/alpha/osf.S
-endif
-if IA64
-nodist_libffi_la_SOURCES += src/ia64/ffi.c src/ia64/unix.S
-endif
-if M32R
-nodist_libffi_la_SOURCES += src/m32r/sysv.S src/m32r/ffi.c
-endif
-if M68K
-nodist_libffi_la_SOURCES += src/m68k/ffi.c src/m68k/sysv.S
-endif
-if POWERPC
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-endif
-if POWERPC_AIX
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-endif
-if POWERPC_DARWIN
-nodist_libffi_la_SOURCES += src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-endif
-if POWERPC_FREEBSD
-nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-endif
-if ARM
-nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
-if FFI_EXEC_TRAMPOLINE_TABLE
-nodist_libffi_la_SOURCES += src/arm/trampoline.S
-endif
-endif
-if AVR32
-nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
-endif
-if LIBFFI_CRIS
-nodist_libffi_la_SOURCES += src/cris/sysv.S src/cris/ffi.c
-endif
-if FRV
-nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
-endif
-if MOXIE
-nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
-endif
-if S390
-nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
-endif
-if X86_64
-nodist_libffi_la_SOURCES += src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-endif
-if SH
-nodist_libffi_la_SOURCES += src/sh/sysv.S src/sh/ffi.c
-endif
-if SH64
-nodist_libffi_la_SOURCES += src/sh64/sysv.S src/sh64/ffi.c
-endif
-if PA_LINUX
-nodist_libffi_la_SOURCES += src/pa/linux.S src/pa/ffi.c
-endif
-if PA_HPUX
-nodist_libffi_la_SOURCES += src/pa/hpux32.S src/pa/ffi.c
-endif
-
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-
-AM_CFLAGS = -Wall -g -fexceptions
-if FFI_DEBUG
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-AM_CFLAGS += -DFFI_DEBUG
-else
-# Build opt.
-AM_CFLAGS += -O2
-endif
-
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
diff --git a/.pc/ungccify/Makefile.in b/.pc/ungccify/Makefile.in
deleted file mode 100644 (file)
index 09da764..0000000
+++ /dev/null
@@ -1,1834 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-@MIPS_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
-@X86_TRUE@am__append_2 = src/x86/ffi.c src/x86/sysv.S
-@X86_FREEBSD_TRUE@am__append_3 = src/x86/ffi.c src/x86/freebsd.S
-@X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
-@X86_WIN64_TRUE@am__append_5 = src/x86/ffi.c src/x86/win64.S
-@X86_DARWIN_TRUE@am__append_6 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
-@SPARC_TRUE@am__append_7 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
-@ALPHA_TRUE@am__append_8 = src/alpha/ffi.c src/alpha/osf.S
-@IA64_TRUE@am__append_9 = src/ia64/ffi.c src/ia64/unix.S
-@M32R_TRUE@am__append_10 = src/m32r/sysv.S src/m32r/ffi.c
-@M68K_TRUE@am__append_11 = src/m68k/ffi.c src/m68k/sysv.S
-@POWERPC_TRUE@am__append_12 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
-@POWERPC_AIX_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
-@POWERPC_DARWIN_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
-@POWERPC_FREEBSD_TRUE@am__append_15 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
-@ARM_TRUE@am__append_16 = src/arm/sysv.S src/arm/ffi.c
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_17 = src/arm/trampoline.S
-@AVR32_TRUE@am__append_18 = src/avr32/sysv.S src/avr32/ffi.c
-@LIBFFI_CRIS_TRUE@am__append_19 = src/cris/sysv.S src/cris/ffi.c
-@FRV_TRUE@am__append_20 = src/frv/eabi.S src/frv/ffi.c
-@MOXIE_TRUE@am__append_21 = src/moxie/eabi.S src/moxie/ffi.c
-@S390_TRUE@am__append_22 = src/s390/sysv.S src/s390/ffi.c
-@X86_64_TRUE@am__append_23 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
-@SH_TRUE@am__append_24 = src/sh/sysv.S src/sh/ffi.c
-@SH64_TRUE@am__append_25 = src/sh64/sysv.S src/sh64/ffi.c
-@PA_LINUX_TRUE@am__append_26 = src/pa/linux.S src/pa/ffi.c
-@PA_HPUX_TRUE@am__append_27 = src/pa/hpux32.S src/pa/ffi.c
-# Build debug. Define FFI_DEBUG on the commandline so that, when building with
-# MSVC, it can link against the debug CRT.
-@FFI_DEBUG_TRUE@am__append_28 = -DFFI_DEBUG
-# Build opt.
-@FFI_DEBUG_FALSE@am__append_29 = -O2
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
-       $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
-       $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
-       compile config.guess config.sub depcomp install-sh ltmain.sh \
-       mdate-sh missing texinfo.tex
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
-       $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-       $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-       $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = fficonfig.h
-CONFIG_CLEAN_FILES = libffi.pc
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" \
-       "$(DESTDIR)$(pkgconfigdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-libffi_la_LIBADD =
-am__dirstamp = $(am__leading_dot)dirstamp
-am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
-       src/raw_api.lo src/java_raw_api.lo src/closures.lo
-@MIPS_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
-@MIPS_TRUE@    src/mips/n32.lo
-@X86_TRUE@am__objects_2 = src/x86/ffi.lo src/x86/sysv.lo
-@X86_FREEBSD_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/freebsd.lo
-@X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
-@X86_WIN64_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win64.lo
-@X86_DARWIN_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/darwin.lo \
-@X86_DARWIN_TRUE@      src/x86/ffi64.lo src/x86/darwin64.lo
-@SPARC_TRUE@am__objects_7 = src/sparc/ffi.lo src/sparc/v8.lo \
-@SPARC_TRUE@   src/sparc/v9.lo
-@ALPHA_TRUE@am__objects_8 = src/alpha/ffi.lo src/alpha/osf.lo
-@IA64_TRUE@am__objects_9 = src/ia64/ffi.lo src/ia64/unix.lo
-@M32R_TRUE@am__objects_10 = src/m32r/sysv.lo src/m32r/ffi.lo
-@M68K_TRUE@am__objects_11 = src/m68k/ffi.lo src/m68k/sysv.lo
-@POWERPC_TRUE@am__objects_12 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
-@POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
-@POWERPC_TRUE@ src/powerpc/linux64.lo \
-@POWERPC_TRUE@ src/powerpc/linux64_closure.lo
-@POWERPC_AIX_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
-@POWERPC_AIX_TRUE@     src/powerpc/aix.lo \
-@POWERPC_AIX_TRUE@     src/powerpc/aix_closure.lo
-@POWERPC_DARWIN_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
-@POWERPC_DARWIN_TRUE@  src/powerpc/darwin.lo \
-@POWERPC_DARWIN_TRUE@  src/powerpc/darwin_closure.lo
-@POWERPC_FREEBSD_TRUE@am__objects_15 = src/powerpc/ffi.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
-@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
-@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
-@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_17 = src/arm/trampoline.lo
-@AVR32_TRUE@am__objects_18 = src/avr32/sysv.lo src/avr32/ffi.lo
-@LIBFFI_CRIS_TRUE@am__objects_19 = src/cris/sysv.lo src/cris/ffi.lo
-@FRV_TRUE@am__objects_20 = src/frv/eabi.lo src/frv/ffi.lo
-@MOXIE_TRUE@am__objects_21 = src/moxie/eabi.lo src/moxie/ffi.lo
-@S390_TRUE@am__objects_22 = src/s390/sysv.lo src/s390/ffi.lo
-@X86_64_TRUE@am__objects_23 = src/x86/ffi64.lo src/x86/unix64.lo \
-@X86_64_TRUE@  src/x86/ffi.lo src/x86/sysv.lo
-@SH_TRUE@am__objects_24 = src/sh/sysv.lo src/sh/ffi.lo
-@SH64_TRUE@am__objects_25 = src/sh64/sysv.lo src/sh64/ffi.lo
-@PA_LINUX_TRUE@am__objects_26 = src/pa/linux.lo src/pa/ffi.lo
-@PA_HPUX_TRUE@am__objects_27 = src/pa/hpux32.lo src/pa/ffi.lo
-nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
-       $(am__objects_3) $(am__objects_4) $(am__objects_5) \
-       $(am__objects_6) $(am__objects_7) $(am__objects_8) \
-       $(am__objects_9) $(am__objects_10) $(am__objects_11) \
-       $(am__objects_12) $(am__objects_13) $(am__objects_14) \
-       $(am__objects_15) $(am__objects_16) $(am__objects_17) \
-       $(am__objects_18) $(am__objects_19) $(am__objects_20) \
-       $(am__objects_21) $(am__objects_22) $(am__objects_23) \
-       $(am__objects_24) $(am__objects_25) $(am__objects_26) \
-       $(am__objects_27)
-libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
-       $(nodist_libffi_la_OBJECTS)
-libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
-libffi_convenience_la_LIBADD =
-am__objects_28 = src/debug.lo src/prep_cif.lo src/types.lo \
-       src/raw_api.lo src/java_raw_api.lo src/closures.lo
-am_libffi_convenience_la_OBJECTS = $(am__objects_28)
-am__objects_29 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
-       $(am__objects_4) $(am__objects_5) $(am__objects_6) \
-       $(am__objects_7) $(am__objects_8) $(am__objects_9) \
-       $(am__objects_10) $(am__objects_11) $(am__objects_12) \
-       $(am__objects_13) $(am__objects_14) $(am__objects_15) \
-       $(am__objects_16) $(am__objects_17) $(am__objects_18) \
-       $(am__objects_19) $(am__objects_20) $(am__objects_21) \
-       $(am__objects_22) $(am__objects_23) $(am__objects_24) \
-       $(am__objects_25) $(am__objects_26) $(am__objects_27)
-nodist_libffi_convenience_la_OBJECTS = $(am__objects_29)
-libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
-       $(nodist_libffi_convenience_la_OBJECTS)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
-       $(libffi_convenience_la_SOURCES) \
-       $(nodist_libffi_convenience_la_SOURCES)
-DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
-INFO_DEPS = $(srcdir)/doc/libffi.info
-am__TEXINFO_TEX_DIR = $(srcdir)
-DVIS = doc/libffi.dvi
-PDFS = doc/libffi.pdf
-PSS = doc/libffi.ps
-HTMLS = doc/libffi.html
-TEXINFOS = doc/libffi.texi
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-DVIPS = dvips
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-DATA = $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_LTLDFLAGS = @AM_LTLDFLAGS@
-AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCAS = @CCAS@
-CCASDEPMODE = @CCASDEPMODE@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TARGET = @TARGET@
-TARGETDIR = @TARGETDIR@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign subdir-objects
-SUBDIRS = include testsuite man
-EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
-       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
-       src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
-       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
-       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
-       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
-       src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
-       src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
-       src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
-       src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
-       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
-       src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
-       src/powerpc/darwin.S src/powerpc/aix_closure.S \
-       src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
-       src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
-       src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
-       src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
-       src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
-       src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
-       src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
-       src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
-       src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
-       src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
-       src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
-       src/moxie/ffi.c src/moxie/eabi.S libtool-version \
-       ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
-       m4/ltoptions.m4 m4/ltsugar.m4
-
-info_TEXINFOS = doc/libffi.texi
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
-       "AR_FLAGS=$(AR_FLAGS)" \
-       "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
-       "CFLAGS=$(CFLAGS)" \
-       "CXXFLAGS=$(CXXFLAGS)" \
-       "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
-       "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
-       "INSTALL=$(INSTALL)" \
-       "INSTALL_DATA=$(INSTALL_DATA)" \
-       "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
-       "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
-       "JC1FLAGS=$(JC1FLAGS)" \
-       "LDFLAGS=$(LDFLAGS)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
-       "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
-       "MAKE=$(MAKE)" \
-       "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
-       "PICFLAG=$(PICFLAG)" \
-       "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
-       "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-       "SHELL=$(SHELL)" \
-       "exec_prefix=$(exec_prefix)" \
-       "infodir=$(infodir)" \
-       "libdir=$(libdir)" \
-       "mandir=$(mandir)" \
-       "prefix=$(prefix)" \
-       "AR=$(AR)" \
-       "AS=$(AS)" \
-       "CC=$(CC)" \
-       "CXX=$(CXX)" \
-       "LD=$(LD)" \
-       "NM=$(NM)" \
-       "RANLIB=$(RANLIB)" \
-       "DESTDIR=$(DESTDIR)"
-
-MAKEOVERRIDES = 
-ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
-lib_LTLIBRARIES = libffi.la
-noinst_LTLIBRARIES = libffi_convenience.la
-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
-               src/raw_api.c src/java_raw_api.c src/closures.c
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libffi.pc
-nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
-       $(am__append_3) $(am__append_4) $(am__append_5) \
-       $(am__append_6) $(am__append_7) $(am__append_8) \
-       $(am__append_9) $(am__append_10) $(am__append_11) \
-       $(am__append_12) $(am__append_13) $(am__append_14) \
-       $(am__append_15) $(am__append_16) $(am__append_17) \
-       $(am__append_18) $(am__append_19) $(am__append_20) \
-       $(am__append_21) $(am__append_22) $(am__append_23) \
-       $(am__append_24) $(am__append_25) $(am__append_26) \
-       $(am__append_27)
-libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
-nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-AM_CFLAGS = -Wall -g -fexceptions $(am__append_28) $(am__append_29)
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
-AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = $(AM_CPPFLAGS)
-all: fficonfig.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .S .c .dvi .lo .o .obj .ps
-am--refresh:
-       @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
-             $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           echo ' $(SHELL) ./config.status'; \
-           $(SHELL) ./config.status;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-       $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-       $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-fficonfig.h: stamp-h1
-       @if test ! -f $@; then \
-         rm -f stamp-h1; \
-         $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-       else :; fi
-
-stamp-h1: $(srcdir)/fficonfig.h.in $(top_builddir)/config.status
-       @rm -f stamp-h1
-       cd $(top_builddir) && $(SHELL) ./config.status fficonfig.h
-$(srcdir)/fficonfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
-       ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-       rm -f stamp-h1
-       touch $@
-
-distclean-hdr:
-       -rm -f fficonfig.h stamp-h1
-libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-       @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-       list2=; for p in $$list; do \
-         if test -f $$p; then \
-           list2="$$list2 $$p"; \
-         else :; fi; \
-       done; \
-       test -z "$$list2" || { \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
-       }
-
-uninstall-libLTLIBRARIES:
-       @$(NORMAL_UNINSTALL)
-       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
-       done
-
-clean-libLTLIBRARIES:
-       -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-
-clean-noinstLTLIBRARIES:
-       -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-src/$(am__dirstamp):
-       @$(MKDIR_P) src
-       @: > src/$(am__dirstamp)
-src/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/$(DEPDIR)
-       @: > src/$(DEPDIR)/$(am__dirstamp)
-src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
-src/mips/$(am__dirstamp):
-       @$(MKDIR_P) src/mips
-       @: > src/mips/$(am__dirstamp)
-src/mips/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/mips/$(DEPDIR)
-       @: > src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/ffi.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/o32.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/mips/n32.lo: src/mips/$(am__dirstamp) \
-       src/mips/$(DEPDIR)/$(am__dirstamp)
-src/x86/$(am__dirstamp):
-       @$(MKDIR_P) src/x86
-       @: > src/x86/$(am__dirstamp)
-src/x86/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/x86/$(DEPDIR)
-       @: > src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/sysv.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/freebsd.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win32.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/win64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/ffi64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/x86/darwin64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sparc/$(am__dirstamp):
-       @$(MKDIR_P) src/sparc
-       @: > src/sparc/$(am__dirstamp)
-src/sparc/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sparc/$(DEPDIR)
-       @: > src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/ffi.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v8.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/sparc/v9.lo: src/sparc/$(am__dirstamp) \
-       src/sparc/$(DEPDIR)/$(am__dirstamp)
-src/alpha/$(am__dirstamp):
-       @$(MKDIR_P) src/alpha
-       @: > src/alpha/$(am__dirstamp)
-src/alpha/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/alpha/$(DEPDIR)
-       @: > src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/ffi.lo: src/alpha/$(am__dirstamp) \
-       src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/alpha/osf.lo: src/alpha/$(am__dirstamp) \
-       src/alpha/$(DEPDIR)/$(am__dirstamp)
-src/ia64/$(am__dirstamp):
-       @$(MKDIR_P) src/ia64
-       @: > src/ia64/$(am__dirstamp)
-src/ia64/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/ia64/$(DEPDIR)
-       @: > src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/ffi.lo: src/ia64/$(am__dirstamp) \
-       src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/ia64/unix.lo: src/ia64/$(am__dirstamp) \
-       src/ia64/$(DEPDIR)/$(am__dirstamp)
-src/m32r/$(am__dirstamp):
-       @$(MKDIR_P) src/m32r
-       @: > src/m32r/$(am__dirstamp)
-src/m32r/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/m32r/$(DEPDIR)
-       @: > src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/sysv.lo: src/m32r/$(am__dirstamp) \
-       src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m32r/ffi.lo: src/m32r/$(am__dirstamp) \
-       src/m32r/$(DEPDIR)/$(am__dirstamp)
-src/m68k/$(am__dirstamp):
-       @$(MKDIR_P) src/m68k
-       @: > src/m68k/$(am__dirstamp)
-src/m68k/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/m68k/$(DEPDIR)
-       @: > src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \
-       src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
-       src/m68k/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/$(am__dirstamp):
-       @$(MKDIR_P) src/powerpc
-       @: > src/powerpc/$(am__dirstamp)
-src/powerpc/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/powerpc/$(DEPDIR)
-       @: > src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/sysv.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ppc_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/linux64_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/aix_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/powerpc/darwin_closure.lo: src/powerpc/$(am__dirstamp) \
-       src/powerpc/$(DEPDIR)/$(am__dirstamp)
-src/arm/$(am__dirstamp):
-       @$(MKDIR_P) src/arm
-       @: > src/arm/$(am__dirstamp)
-src/arm/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/arm/$(DEPDIR)
-       @: > src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/sysv.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/ffi.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/arm/trampoline.lo: src/arm/$(am__dirstamp) \
-       src/arm/$(DEPDIR)/$(am__dirstamp)
-src/avr32/$(am__dirstamp):
-       @$(MKDIR_P) src/avr32
-       @: > src/avr32/$(am__dirstamp)
-src/avr32/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/avr32/$(DEPDIR)
-       @: > src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/sysv.lo: src/avr32/$(am__dirstamp) \
-       src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/avr32/ffi.lo: src/avr32/$(am__dirstamp) \
-       src/avr32/$(DEPDIR)/$(am__dirstamp)
-src/cris/$(am__dirstamp):
-       @$(MKDIR_P) src/cris
-       @: > src/cris/$(am__dirstamp)
-src/cris/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/cris/$(DEPDIR)
-       @: > src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/sysv.lo: src/cris/$(am__dirstamp) \
-       src/cris/$(DEPDIR)/$(am__dirstamp)
-src/cris/ffi.lo: src/cris/$(am__dirstamp) \
-       src/cris/$(DEPDIR)/$(am__dirstamp)
-src/frv/$(am__dirstamp):
-       @$(MKDIR_P) src/frv
-       @: > src/frv/$(am__dirstamp)
-src/frv/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/frv/$(DEPDIR)
-       @: > src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/eabi.lo: src/frv/$(am__dirstamp) \
-       src/frv/$(DEPDIR)/$(am__dirstamp)
-src/frv/ffi.lo: src/frv/$(am__dirstamp) \
-       src/frv/$(DEPDIR)/$(am__dirstamp)
-src/moxie/$(am__dirstamp):
-       @$(MKDIR_P) src/moxie
-       @: > src/moxie/$(am__dirstamp)
-src/moxie/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/moxie/$(DEPDIR)
-       @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
-       src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
-       src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/s390/$(am__dirstamp):
-       @$(MKDIR_P) src/s390
-       @: > src/s390/$(am__dirstamp)
-src/s390/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/s390/$(DEPDIR)
-       @: > src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/sysv.lo: src/s390/$(am__dirstamp) \
-       src/s390/$(DEPDIR)/$(am__dirstamp)
-src/s390/ffi.lo: src/s390/$(am__dirstamp) \
-       src/s390/$(DEPDIR)/$(am__dirstamp)
-src/x86/unix64.lo: src/x86/$(am__dirstamp) \
-       src/x86/$(DEPDIR)/$(am__dirstamp)
-src/sh/$(am__dirstamp):
-       @$(MKDIR_P) src/sh
-       @: > src/sh/$(am__dirstamp)
-src/sh/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sh/$(DEPDIR)
-       @: > src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/sysv.lo: src/sh/$(am__dirstamp) \
-       src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh/ffi.lo: src/sh/$(am__dirstamp) src/sh/$(DEPDIR)/$(am__dirstamp)
-src/sh64/$(am__dirstamp):
-       @$(MKDIR_P) src/sh64
-       @: > src/sh64/$(am__dirstamp)
-src/sh64/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/sh64/$(DEPDIR)
-       @: > src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/sysv.lo: src/sh64/$(am__dirstamp) \
-       src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/sh64/ffi.lo: src/sh64/$(am__dirstamp) \
-       src/sh64/$(DEPDIR)/$(am__dirstamp)
-src/pa/$(am__dirstamp):
-       @$(MKDIR_P) src/pa
-       @: > src/pa/$(am__dirstamp)
-src/pa/$(DEPDIR)/$(am__dirstamp):
-       @$(MKDIR_P) src/pa/$(DEPDIR)
-       @: > src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/linux.lo: src/pa/$(am__dirstamp) \
-       src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
-src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
-       src/pa/$(DEPDIR)/$(am__dirstamp)
-libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) 
-       $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
-libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) 
-       $(LINK)  $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-       -rm -f src/alpha/ffi.$(OBJEXT)
-       -rm -f src/alpha/ffi.lo
-       -rm -f src/alpha/osf.$(OBJEXT)
-       -rm -f src/alpha/osf.lo
-       -rm -f src/arm/ffi.$(OBJEXT)
-       -rm -f src/arm/ffi.lo
-       -rm -f src/arm/sysv.$(OBJEXT)
-       -rm -f src/arm/sysv.lo
-       -rm -f src/arm/trampoline.$(OBJEXT)
-       -rm -f src/arm/trampoline.lo
-       -rm -f src/avr32/ffi.$(OBJEXT)
-       -rm -f src/avr32/ffi.lo
-       -rm -f src/avr32/sysv.$(OBJEXT)
-       -rm -f src/avr32/sysv.lo
-       -rm -f src/closures.$(OBJEXT)
-       -rm -f src/closures.lo
-       -rm -f src/cris/ffi.$(OBJEXT)
-       -rm -f src/cris/ffi.lo
-       -rm -f src/cris/sysv.$(OBJEXT)
-       -rm -f src/cris/sysv.lo
-       -rm -f src/debug.$(OBJEXT)
-       -rm -f src/debug.lo
-       -rm -f src/frv/eabi.$(OBJEXT)
-       -rm -f src/frv/eabi.lo
-       -rm -f src/frv/ffi.$(OBJEXT)
-       -rm -f src/frv/ffi.lo
-       -rm -f src/ia64/ffi.$(OBJEXT)
-       -rm -f src/ia64/ffi.lo
-       -rm -f src/ia64/unix.$(OBJEXT)
-       -rm -f src/ia64/unix.lo
-       -rm -f src/java_raw_api.$(OBJEXT)
-       -rm -f src/java_raw_api.lo
-       -rm -f src/m32r/ffi.$(OBJEXT)
-       -rm -f src/m32r/ffi.lo
-       -rm -f src/m32r/sysv.$(OBJEXT)
-       -rm -f src/m32r/sysv.lo
-       -rm -f src/m68k/ffi.$(OBJEXT)
-       -rm -f src/m68k/ffi.lo
-       -rm -f src/m68k/sysv.$(OBJEXT)
-       -rm -f src/m68k/sysv.lo
-       -rm -f src/mips/ffi.$(OBJEXT)
-       -rm -f src/mips/ffi.lo
-       -rm -f src/mips/n32.$(OBJEXT)
-       -rm -f src/mips/n32.lo
-       -rm -f src/mips/o32.$(OBJEXT)
-       -rm -f src/mips/o32.lo
-       -rm -f src/moxie/eabi.$(OBJEXT)
-       -rm -f src/moxie/eabi.lo
-       -rm -f src/moxie/ffi.$(OBJEXT)
-       -rm -f src/moxie/ffi.lo
-       -rm -f src/pa/ffi.$(OBJEXT)
-       -rm -f src/pa/ffi.lo
-       -rm -f src/pa/hpux32.$(OBJEXT)
-       -rm -f src/pa/hpux32.lo
-       -rm -f src/pa/linux.$(OBJEXT)
-       -rm -f src/pa/linux.lo
-       -rm -f src/powerpc/aix.$(OBJEXT)
-       -rm -f src/powerpc/aix.lo
-       -rm -f src/powerpc/aix_closure.$(OBJEXT)
-       -rm -f src/powerpc/aix_closure.lo
-       -rm -f src/powerpc/darwin.$(OBJEXT)
-       -rm -f src/powerpc/darwin.lo
-       -rm -f src/powerpc/darwin_closure.$(OBJEXT)
-       -rm -f src/powerpc/darwin_closure.lo
-       -rm -f src/powerpc/ffi.$(OBJEXT)
-       -rm -f src/powerpc/ffi.lo
-       -rm -f src/powerpc/ffi_darwin.$(OBJEXT)
-       -rm -f src/powerpc/ffi_darwin.lo
-       -rm -f src/powerpc/linux64.$(OBJEXT)
-       -rm -f src/powerpc/linux64.lo
-       -rm -f src/powerpc/linux64_closure.$(OBJEXT)
-       -rm -f src/powerpc/linux64_closure.lo
-       -rm -f src/powerpc/ppc_closure.$(OBJEXT)
-       -rm -f src/powerpc/ppc_closure.lo
-       -rm -f src/powerpc/sysv.$(OBJEXT)
-       -rm -f src/powerpc/sysv.lo
-       -rm -f src/prep_cif.$(OBJEXT)
-       -rm -f src/prep_cif.lo
-       -rm -f src/raw_api.$(OBJEXT)
-       -rm -f src/raw_api.lo
-       -rm -f src/s390/ffi.$(OBJEXT)
-       -rm -f src/s390/ffi.lo
-       -rm -f src/s390/sysv.$(OBJEXT)
-       -rm -f src/s390/sysv.lo
-       -rm -f src/sh/ffi.$(OBJEXT)
-       -rm -f src/sh/ffi.lo
-       -rm -f src/sh/sysv.$(OBJEXT)
-       -rm -f src/sh/sysv.lo
-       -rm -f src/sh64/ffi.$(OBJEXT)
-       -rm -f src/sh64/ffi.lo
-       -rm -f src/sh64/sysv.$(OBJEXT)
-       -rm -f src/sh64/sysv.lo
-       -rm -f src/sparc/ffi.$(OBJEXT)
-       -rm -f src/sparc/ffi.lo
-       -rm -f src/sparc/v8.$(OBJEXT)
-       -rm -f src/sparc/v8.lo
-       -rm -f src/sparc/v9.$(OBJEXT)
-       -rm -f src/sparc/v9.lo
-       -rm -f src/types.$(OBJEXT)
-       -rm -f src/types.lo
-       -rm -f src/x86/darwin.$(OBJEXT)
-       -rm -f src/x86/darwin.lo
-       -rm -f src/x86/darwin64.$(OBJEXT)
-       -rm -f src/x86/darwin64.lo
-       -rm -f src/x86/ffi.$(OBJEXT)
-       -rm -f src/x86/ffi.lo
-       -rm -f src/x86/ffi64.$(OBJEXT)
-       -rm -f src/x86/ffi64.lo
-       -rm -f src/x86/freebsd.$(OBJEXT)
-       -rm -f src/x86/freebsd.lo
-       -rm -f src/x86/sysv.$(OBJEXT)
-       -rm -f src/x86/sysv.lo
-       -rm -f src/x86/unix64.$(OBJEXT)
-       -rm -f src/x86/unix64.lo
-       -rm -f src/x86/win32.$(OBJEXT)
-       -rm -f src/x86/win32.lo
-       -rm -f src/x86/win64.$(OBJEXT)
-       -rm -f src/x86/win64.lo
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/closures.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/debug.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/java_raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/prep_cif.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/raw_api.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/types.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/unix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/darwin_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi_darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ppc_closure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v8.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/v9.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/darwin64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/freebsd.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/sysv.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/unix64.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win32.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/win64.Plo@am__quote@
-
-.S.o:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(CPPASCOMPILE) -c -o $@ $<
-
-.S.obj:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.S.lo:
-@am__fastdepCCAS_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@    DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@        $(LTCPPASCOMPILE) -c -o $@ $<
-
-.c.o:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-       -rm -rf src/.libs src/_libs
-       -rm -rf src/alpha/.libs src/alpha/_libs
-       -rm -rf src/arm/.libs src/arm/_libs
-       -rm -rf src/avr32/.libs src/avr32/_libs
-       -rm -rf src/cris/.libs src/cris/_libs
-       -rm -rf src/frv/.libs src/frv/_libs
-       -rm -rf src/ia64/.libs src/ia64/_libs
-       -rm -rf src/m32r/.libs src/m32r/_libs
-       -rm -rf src/m68k/.libs src/m68k/_libs
-       -rm -rf src/mips/.libs src/mips/_libs
-       -rm -rf src/moxie/.libs src/moxie/_libs
-       -rm -rf src/pa/.libs src/pa/_libs
-       -rm -rf src/powerpc/.libs src/powerpc/_libs
-       -rm -rf src/s390/.libs src/s390/_libs
-       -rm -rf src/sh/.libs src/sh/_libs
-       -rm -rf src/sh64/.libs src/sh64/_libs
-       -rm -rf src/sparc/.libs src/sparc/_libs
-       -rm -rf src/x86/.libs src/x86/_libs
-
-distclean-libtool:
-       -rm -f libtool config.lt
-doc/$(am__dirstamp):
-       @$(MKDIR_P) doc
-       @: > doc/$(am__dirstamp)
-
-$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
-       restore=: && backupdir="$(am__leading_dot)am$$$$" && \
-       am__cwd=`pwd` && $(am__cd) $(srcdir) && \
-       rm -rf $$backupdir && mkdir $$backupdir && \
-       if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
-         for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
-           if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
-         done; \
-       else :; fi && \
-       cd "$$am__cwd"; \
-       if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-        -o $@ $(srcdir)/doc/libffi.texi; \
-       then \
-         rc=0; \
-         $(am__cd) $(srcdir); \
-       else \
-         rc=$$?; \
-         $(am__cd) $(srcdir) && \
-         $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
-       fi; \
-       rm -rf $$backupdir; exit $$rc
-
-doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-       $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
-       $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
-
-doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
-       rm -rf $(@:.html=.htp)
-       if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
-        -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
-       then \
-         rm -rf $@; \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
-       else \
-         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
-           rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
-         exit 1; \
-       fi
-$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
-$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
-       test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
-       @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
-       set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
-       echo "@set UPDATED $$1 $$2 $$3"; \
-       echo "@set UPDATED-MONTH $$2 $$3"; \
-       echo "@set EDITION $(VERSION)"; \
-       echo "@set VERSION $(VERSION)") > vti.tmp
-       @cmp -s vti.tmp $(srcdir)/doc/version.texi \
-         || (echo "Updating $(srcdir)/doc/version.texi"; \
-             cp vti.tmp $(srcdir)/doc/version.texi)
-       -@rm -f vti.tmp
-       @cp $(srcdir)/doc/version.texi $@
-
-mostlyclean-vti:
-       -rm -f vti.tmp
-
-maintainer-clean-vti:
-@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
-.dvi.ps:
-       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
-       $(DVIPS) -o $@ $<
-
-uninstall-dvi-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
-         rm -f "$(DESTDIR)$(dvidir)/$$f"; \
-       done
-
-uninstall-html-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
-         rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
-       done
-
-uninstall-info-am:
-       @$(PRE_UNINSTALL)
-       @if test -d '$(DESTDIR)$(infodir)' && \
-           (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
-         list='$(INFO_DEPS)'; \
-         for file in $$list; do \
-           relfile=`echo "$$file" | sed 's|^.*/||'`; \
-           echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
-           if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
-           then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
-         done; \
-       else :; fi
-       @$(NORMAL_UNINSTALL)
-       @list='$(INFO_DEPS)'; \
-       for file in $$list; do \
-         relfile=`echo "$$file" | sed 's|^.*/||'`; \
-         relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
-         (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
-            echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
-            rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
-          else :; fi); \
-       done
-
-uninstall-pdf-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
-         rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
-       done
-
-uninstall-ps-am:
-       @$(NORMAL_UNINSTALL)
-       @list='$(PSS)'; test -n "$(psdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
-         rm -f "$(DESTDIR)$(psdir)/$$f"; \
-       done
-
-dist-info: $(INFO_DEPS)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-       list='$(INFO_DEPS)'; \
-       for base in $$list; do \
-         case $$base in \
-           $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
-         esac; \
-         if test -f $$base; then d=.; else d=$(srcdir); fi; \
-         base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
-         for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
-           if test -f $$file; then \
-             relfile=`expr "$$file" : "$$d/\(.*\)"`; \
-             test -f "$(distdir)/$$relfile" || \
-               cp -p $$file "$(distdir)/$$relfile"; \
-           else :; fi; \
-         done; \
-       done
-
-mostlyclean-aminfo:
-       -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
-         libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
-
-clean-aminfo:
-       -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
-       || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
-
-maintainer-clean-aminfo:
-       @list='$(INFO_DEPS)'; for i in $$list; do \
-         i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
-         echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
-         rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
-       done
-install-pkgconfigDATA: $(pkgconfig_DATA)
-       @$(NORMAL_INSTALL)
-       test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
-       done
-
-uninstall-pkgconfigDATA:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       test -n "$$files" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-info
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @$(am__cd) '$(distuninstallcheck_dir)' \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
-installdirs: installdirs-recursive
-installdirs-am:
-       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -rm -f doc/$(am__dirstamp)
-       -rm -f src/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/$(am__dirstamp)
-       -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/alpha/$(am__dirstamp)
-       -rm -f src/arm/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/arm/$(am__dirstamp)
-       -rm -f src/avr32/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/avr32/$(am__dirstamp)
-       -rm -f src/cris/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/cris/$(am__dirstamp)
-       -rm -f src/frv/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/frv/$(am__dirstamp)
-       -rm -f src/ia64/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/ia64/$(am__dirstamp)
-       -rm -f src/m32r/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/m32r/$(am__dirstamp)
-       -rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/m68k/$(am__dirstamp)
-       -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/mips/$(am__dirstamp)
-       -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/moxie/$(am__dirstamp)
-       -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/pa/$(am__dirstamp)
-       -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/powerpc/$(am__dirstamp)
-       -rm -f src/s390/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/s390/$(am__dirstamp)
-       -rm -f src/sh/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sh/$(am__dirstamp)
-       -rm -f src/sh64/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sh64/$(am__dirstamp)
-       -rm -f src/sparc/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/sparc/$(am__dirstamp)
-       -rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
-       -rm -f src/x86/$(am__dirstamp)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
-       clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am: $(DVIS)
-
-html: html-recursive
-
-html-am: $(HTMLS)
-
-info: info-recursive
-
-info-am: $(INFO_DEPS)
-
-install-data-am: install-info-am install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am: $(DVIS)
-       @$(NORMAL_INSTALL)
-       test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
-       @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
-       done
-install-exec-am: install-libLTLIBRARIES
-
-install-html-am: $(HTMLS)
-       @$(NORMAL_INSTALL)
-       test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
-       @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         $(am__strip_dir) \
-         if test -d "$$d$$p"; then \
-           echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
-           echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
-           $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
-         else \
-           list2="$$list2 $$d$$p"; \
-         fi; \
-       done; \
-       test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
-       done; }
-install-info: install-info-recursive
-
-install-info-am: $(INFO_DEPS)
-       @$(NORMAL_INSTALL)
-       test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-       list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
-       for file in $$list; do \
-         case $$file in \
-           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-         esac; \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
-         file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
-         for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
-                      $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
-           if test -f $$ifile; then \
-             echo "$$ifile"; \
-           else : ; fi; \
-         done; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
-       @$(POST_INSTALL)
-       @if (install-info --version && \
-            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
-         list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
-         for file in $$list; do \
-           relfile=`echo "$$file" | sed 's|^.*/||'`; \
-           echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
-           install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
-         done; \
-       else : ; fi
-install-man:
-
-install-pdf-am: $(PDFS)
-       @$(NORMAL_INSTALL)
-       test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
-       @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
-install-ps: install-ps-recursive
-
-install-ps-am: $(PSS)
-       @$(NORMAL_INSTALL)
-       test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
-       @list='$(PSS)'; test -n "$(psdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf $(top_srcdir)/autom4te.cache
-       -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-aminfo \
-       maintainer-clean-generic maintainer-clean-vti
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool mostlyclean-vti
-
-pdf: pdf-recursive
-
-pdf-am: $(PDFS)
-
-ps: ps-recursive
-
-ps-am: $(PSS)
-
-uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
-       uninstall-libLTLIBRARIES uninstall-pdf-am \
-       uninstall-pkgconfigDATA uninstall-ps-am
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
-       ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-aminfo \
-       clean-generic clean-libLTLIBRARIES clean-libtool \
-       clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
-       dist-bzip2 dist-gzip dist-info dist-lzma dist-shar dist-tarZ \
-       dist-xz dist-zip distcheck distclean distclean-compile \
-       distclean-generic distclean-hdr distclean-libtool \
-       distclean-tags distcleancheck distdir distuninstallcheck dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-libLTLIBRARIES \
-       install-man install-pdf install-pdf-am install-pkgconfigDATA \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-aminfo maintainer-clean-generic \
-       maintainer-clean-vti mostlyclean mostlyclean-aminfo \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
-       uninstall-info-am uninstall-libLTLIBRARIES uninstall-pdf-am \
-       uninstall-pkgconfigDATA uninstall-ps-am
-
-       m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-install-pdf:
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/.pc/ungccify/configure.ac b/.pc/ungccify/configure.ac
deleted file mode 100644 (file)
index ee8bd10..0000000
+++ /dev/null
@@ -1,491 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin* | powerpc64-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
-  powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=no
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    LT_SYS_SYMBOL_USCORE
-    if test "x$sys_symbol_underscore" = xyes; then
-        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-    fi
-fi
-
-
-FFI_EXEC_TRAMPOLINE_TABLE=0
-case "$target" in
-     *arm*-apple-darwin*)
-       FFI_EXEC_TRAMPOLINE_TABLE=1
-       AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
-                 [Cannot use PROT_EXEC on this target, so, we revert to
-                   alternative means])
-     ;;
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
-AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-if test "x$GCC" = "xyes"; then
-  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-      libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test "x$libffi_cv_ro_eh_frame" = xyes; then
-      AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-      AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  else
-      AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.  ])
-  fi
-
-  AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-      libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-      ])
-  if test $libffi_cv_hidden_visibility_attribute = yes; then
-      AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-  fi
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/unlikely/.timestamp b/.pc/unlikely/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/unlikely/ChangeLog b/.pc/unlikely/ChangeLog
deleted file mode 100644 (file)
index c2973ab..0000000
+++ /dev/null
@@ -1,4739 +0,0 @@
-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  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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * 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.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/unlikely/include/ffi_common.h b/.pc/unlikely/include/ffi_common.h
deleted file mode 100644 (file)
index 919eec2..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi_common.h - Copyright (C) 2011  Anthony Green
-                  Copyright (C) 2007  Free Software Foundation, Inc
-                  Copyright (c) 1996  Red Hat, Inc.
-                  
-   Common internal definitions and macros. Only necessary for building
-   libffi.
-   ----------------------------------------------------------------------- */
-
-#ifndef FFI_COMMON_H
-#define FFI_COMMON_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <fficonfig.h>
-
-/* Do not move this. Some versions of AIX are very picky about where
-   this is positioned. */
-#ifdef __GNUC__
-/* mingw64 defines this already in malloc.h. */
-#ifndef alloca
-# define alloca __builtin_alloca
-#endif
-# define MAYBE_UNUSED __attribute__((__unused__))
-#else
-# define MAYBE_UNUSED
-# if HAVE_ALLOCA_H
-#  include <alloca.h>
-# else
-#  ifdef _AIX
- #pragma alloca
-#  else
-#   ifndef alloca /* predefined by HP cc +Olibcalls */
-#    ifdef _MSC_VER
-#     define alloca _alloca
-#    else
-char *alloca ();
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-/* Check for the existence of memcpy. */
-#if STDC_HEADERS
-# include <string.h>
-#else
-# ifndef HAVE_MEMCPY
-#  define memcpy(d, s, n) bcopy ((s), (d), (n))
-# endif
-#endif
-
-#if defined(FFI_DEBUG)
-#include <stdio.h>
-#endif
-
-#ifdef FFI_DEBUG
-void ffi_assert(char *expr, char *file, int line);
-void ffi_stop_here(void);
-void ffi_type_test(ffi_type *a, char *file, int line);
-
-#define FFI_ASSERT(x) ((x) ? (void)0 : ffi_assert(#x, __FILE__,__LINE__))
-#define FFI_ASSERT_AT(x, f, l) ((x) ? 0 : ffi_assert(#x, (f), (l)))
-#define FFI_ASSERT_VALID_TYPE(x) ffi_type_test (x, __FILE__, __LINE__)
-#else
-#define FFI_ASSERT(x)
-#define FFI_ASSERT_AT(x, f, l)
-#define FFI_ASSERT_VALID_TYPE(x)
-#endif
-
-#define ALIGN(v, a)  (((((size_t) (v))-1) | ((a)-1))+1)
-#define ALIGN_DOWN(v, a) (((size_t) (v)) & -a)
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif);
-ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif,
-        unsigned int nfixedargs, unsigned int ntotalargs);
-
-/* Extended cif, used in callback from assembly routine */
-typedef struct
-{
-  ffi_cif *cif;
-  void *rvalue;
-  void **avalue;
-} extended_cif;
-
-/* Terse sized type definitions.  */
-#if defined(_MSC_VER) || defined(__sgi)
-typedef unsigned char UINT8;
-typedef signed char   SINT8;
-typedef unsigned short UINT16;
-typedef signed short   SINT16;
-typedef unsigned int UINT32;
-typedef signed int   SINT32;
-# ifdef _MSC_VER
-typedef unsigned __int64 UINT64;
-typedef signed __int64   SINT64;
-# else
-# include <inttypes.h>
-typedef uint64_t UINT64;
-typedef int64_t  SINT64;
-# endif
-#else
-typedef unsigned int UINT8  __attribute__((__mode__(__QI__)));
-typedef signed int   SINT8  __attribute__((__mode__(__QI__)));
-typedef unsigned int UINT16 __attribute__((__mode__(__HI__)));
-typedef signed int   SINT16 __attribute__((__mode__(__HI__)));
-typedef unsigned int UINT32 __attribute__((__mode__(__SI__)));
-typedef signed int   SINT32 __attribute__((__mode__(__SI__)));
-typedef unsigned int UINT64 __attribute__((__mode__(__DI__)));
-typedef signed int   SINT64 __attribute__((__mode__(__DI__)));
-#endif
-
-typedef float FLOAT32;
-
-#ifndef __GNUC__
-#define __builtin_expect(x, expected_value) (x)
-#endif
-#define LIKELY(x)    __builtin_expect((x),1)
-#define UNLIKELY(x)  __builtin_expect((x),1)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/.pc/variadic/.timestamp b/.pc/variadic/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/variadic/ChangeLog b/.pc/variadic/ChangeLog
deleted file mode 100644 (file)
index 22aa3dd..0000000
+++ /dev/null
@@ -1,4728 +0,0 @@
-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  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  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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * 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.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/variadic/doc/libffi.texi b/.pc/variadic/doc/libffi.texi
deleted file mode 100644 (file)
index 5cdd667..0000000
+++ /dev/null
@@ -1,600 +0,0 @@
-\input texinfo   @c -*-texinfo-*-
-@c %**start of header
-@setfilename libffi.info
-@settitle libffi
-@setchapternewpage off
-@c %**end of header
-
-@c Merge the standard indexes into a single one.
-@syncodeindex fn cp
-@syncodeindex vr cp
-@syncodeindex ky cp
-@syncodeindex pg cp
-@syncodeindex tp cp
-
-@include version.texi
-
-@copying
-
-This manual is for Libffi, a portable foreign-function interface
-library.
-
-Copyright @copyright{} 2008, 2010 Red Hat, Inc.
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.  A copy of the license is included in the
-section entitled ``GNU General Public License''.
-
-@end quotation
-@end copying
-
-@dircategory Development
-@direntry
-* libffi: (libffi).             Portable foreign-function interface library.
-@end direntry
-
-@titlepage
-@title Libffi
-@page
-@vskip 0pt plus 1filll
-@insertcopying
-@end titlepage
-
-
-@ifnottex
-@node Top
-@top libffi
-
-@insertcopying
-
-@menu
-* Introduction::                What is libffi?
-* Using libffi::                How to use libffi.
-* Missing Features::            Things libffi can't do.
-* Index::                       Index.
-@end menu
-
-@end ifnottex
-
-
-@node Introduction
-@chapter What is libffi?
-
-Compilers for high level languages generate code that follow certain
-conventions.  These conventions are necessary, in part, for separate
-compilation to work.  One such convention is the @dfn{calling
-convention}.  The calling convention is a set of assumptions made by
-the compiler about where function arguments will be found on entry to
-a function.  A calling convention also specifies where the return
-value for a function is found.  The calling convention is also
-sometimes called the @dfn{ABI} or @dfn{Application Binary Interface}.
-@cindex calling convention
-@cindex ABI
-@cindex Application Binary Interface
-
-Some programs may not know at the time of compilation what arguments
-are to be passed to a function.  For instance, an interpreter may be
-told at run-time about the number and types of arguments used to call
-a given function.  @samp{Libffi} can be used in such programs to
-provide a bridge from the interpreter program to compiled code.
-
-The @samp{libffi} library provides a portable, high level programming
-interface to various calling conventions.  This allows a programmer to
-call any function specified by a call interface description at run
-time.
-
-@acronym{FFI} stands for Foreign Function Interface.  A foreign
-function interface is the popular name for the interface that allows
-code written in one language to call code written in another language.
-The @samp{libffi} library really only provides the lowest, machine
-dependent layer of a fully featured foreign function interface.  A
-layer must exist above @samp{libffi} that handles type conversions for
-values passed between the two languages.
-@cindex FFI
-@cindex Foreign Function Interface
-
-
-@node Using libffi
-@chapter Using libffi
-
-@menu
-* The Basics::                  The basic libffi API.
-* Simple Example::              A simple example.
-* Types::                       libffi type descriptions.
-* Multiple ABIs::               Different passing styles on one platform.
-* The Closure API::             Writing a generic function.
-* Closure Example::             A closure example.
-@end menu
-
-
-@node The Basics
-@section The Basics
-
-@samp{Libffi} assumes that you have a pointer to the function you wish
-to call and that you know the number and types of arguments to pass
-it, as well as the return type of the function.
-
-The first thing you must do is create an @code{ffi_cif} object that
-matches the signature of the function you wish to call.  This is a
-separate step because it is common to make multiple calls using a
-single @code{ffi_cif}.  The @dfn{cif} in @code{ffi_cif} stands for
-Call InterFace.  To prepare a call interface object, use the function
-@code{ffi_prep_cif}.
-@cindex cif
-
-@findex ffi_prep_cif
-@defun ffi_status ffi_prep_cif (ffi_cif *@var{cif}, ffi_abi @var{abi}, unsigned int @var{nargs}, ffi_type *@var{rtype}, ffi_type **@var{argtypes})
-This initializes @var{cif} according to the given parameters.
-
-@var{abi} is the ABI to use; normally @code{FFI_DEFAULT_ABI} is what
-you want.  @ref{Multiple ABIs} for more information.
-
-@var{nargs} is the number of arguments that this function accepts.
-@samp{libffi} does not yet handle varargs functions; see @ref{Missing
-Features} for more information.
-
-@var{rtype} is a pointer to an @code{ffi_type} structure that
-describes the return type of the function.  @xref{Types}.
-
-@var{argtypes} is a vector of @code{ffi_type} pointers.
-@var{argtypes} must have @var{nargs} elements.  If @var{nargs} is 0,
-this argument is ignored.
-
-@code{ffi_prep_cif} returns a @code{libffi} status code, of type
-@code{ffi_status}.  This will be either @code{FFI_OK} if everything
-worked properly; @code{FFI_BAD_TYPEDEF} if one of the @code{ffi_type}
-objects is incorrect; or @code{FFI_BAD_ABI} if the @var{abi} parameter
-is invalid.
-@end defun
-
-
-To call a function using an initialized @code{ffi_cif}, use the
-@code{ffi_call} function:
-
-@findex ffi_call
-@defun void ffi_call (ffi_cif *@var{cif}, void *@var{fn}, void *@var{rvalue}, void **@var{avalues})
-This calls the function @var{fn} according to the description given in
-@var{cif}.  @var{cif} must have already been prepared using
-@code{ffi_prep_cif}.
-
-@var{rvalue} is a pointer to a chunk of memory that will hold the
-result of the function call.  This must be large enough to hold the
-result and must be suitably aligned; it is the caller's responsibility
-to ensure this.  If @var{cif} declares that the function returns
-@code{void} (using @code{ffi_type_void}), then @var{rvalue} is
-ignored.  If @var{rvalue} is @samp{NULL}, then the return value is
-discarded.
-
-@var{avalues} is a vector of @code{void *} pointers that point to the
-memory locations holding the argument values for a call.  If @var{cif}
-declares that the function has no arguments (i.e., @var{nargs} was 0),
-then @var{avalues} is ignored.  Note that argument values may be
-modified by the callee (for instance, structs passed by value); the
-burden of copying pass-by-value arguments is placed on the caller.
-@end defun
-
-
-@node Simple Example
-@section Simple Example
-
-Here is a trivial example that calls @code{puts} a few times.
-
-@example
-#include <stdio.h>
-#include <ffi.h>
-
-int main()
-@{
-  ffi_cif cif;
-  ffi_type *args[1];
-  void *values[1];
-  char *s;
-  int rc;
-  
-  /* Initialize the argument info vectors */    
-  args[0] = &ffi_type_pointer;
-  values[0] = &s;
-  
-  /* Initialize the cif */
-  if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, 
-                      &ffi_type_uint, args) == FFI_OK)
-    @{
-      s = "Hello World!";
-      ffi_call(&cif, puts, &rc, values);
-      /* rc now holds the result of the call to puts */
-      
-      /* values holds a pointer to the function's arg, so to 
-         call puts() again all we need to do is change the 
-         value of s */
-      s = "This is cool!";
-      ffi_call(&cif, puts, &rc, values);
-    @}
-  
-  return 0;
-@}
-@end example
-
-
-@node Types
-@section Types
-
-@menu
-* Primitive Types::             Built-in types.
-* Structures::                  Structure types.
-* Type Example::                Structure type example.
-@end menu
-
-@node Primitive Types
-@subsection Primitive Types
-
-@code{Libffi} provides a number of built-in type descriptors that can
-be used to describe argument and return types:
-
-@table @code
-@item ffi_type_void
-@tindex ffi_type_void
-The type @code{void}.  This cannot be used for argument types, only
-for return values.
-
-@item ffi_type_uint8
-@tindex ffi_type_uint8
-An unsigned, 8-bit integer type.
-
-@item ffi_type_sint8
-@tindex ffi_type_sint8
-A signed, 8-bit integer type.
-
-@item ffi_type_uint16
-@tindex ffi_type_uint16
-An unsigned, 16-bit integer type.
-
-@item ffi_type_sint16
-@tindex ffi_type_sint16
-A signed, 16-bit integer type.
-
-@item ffi_type_uint32
-@tindex ffi_type_uint32
-An unsigned, 32-bit integer type.
-
-@item ffi_type_sint32
-@tindex ffi_type_sint32
-A signed, 32-bit integer type.
-
-@item ffi_type_uint64
-@tindex ffi_type_uint64
-An unsigned, 64-bit integer type.
-
-@item ffi_type_sint64
-@tindex ffi_type_sint64
-A signed, 64-bit integer type.
-
-@item ffi_type_float
-@tindex ffi_type_float
-The C @code{float} type.
-
-@item ffi_type_double
-@tindex ffi_type_double
-The C @code{double} type.
-
-@item ffi_type_uchar
-@tindex ffi_type_uchar
-The C @code{unsigned char} type.
-
-@item ffi_type_schar
-@tindex ffi_type_schar
-The C @code{signed char} type.  (Note that there is not an exact
-equivalent to the C @code{char} type in @code{libffi}; ordinarily you
-should either use @code{ffi_type_schar} or @code{ffi_type_uchar}
-depending on whether @code{char} is signed.)
-
-@item ffi_type_ushort
-@tindex ffi_type_ushort
-The C @code{unsigned short} type.
-
-@item ffi_type_sshort
-@tindex ffi_type_sshort
-The C @code{short} type.
-
-@item ffi_type_uint
-@tindex ffi_type_uint
-The C @code{unsigned int} type.
-
-@item ffi_type_sint
-@tindex ffi_type_sint
-The C @code{int} type.
-
-@item ffi_type_ulong
-@tindex ffi_type_ulong
-The C @code{unsigned long} type.
-
-@item ffi_type_slong
-@tindex ffi_type_slong
-The C @code{long} type.
-
-@item ffi_type_longdouble
-@tindex ffi_type_longdouble
-On platforms that have a C @code{long double} type, this is defined.
-On other platforms, it is not.
-
-@item ffi_type_pointer
-@tindex ffi_type_pointer
-A generic @code{void *} pointer.  You should use this for all
-pointers, regardless of their real type.
-@end table
-
-Each of these is of type @code{ffi_type}, so you must take the address
-when passing to @code{ffi_prep_cif}.
-
-
-@node Structures
-@subsection Structures
-
-Although @samp{libffi} has no special support for unions or
-bit-fields, it is perfectly happy passing structures back and forth.
-You must first describe the structure to @samp{libffi} by creating a
-new @code{ffi_type} object for it.
-
-@tindex ffi_type
-@deftp ffi_type
-The @code{ffi_type} has the following members:
-@table @code
-@item size_t size
-This is set by @code{libffi}; you should initialize it to zero.
-
-@item unsigned short alignment
-This is set by @code{libffi}; you should initialize it to zero.
-
-@item unsigned short type
-For a structure, this should be set to @code{FFI_TYPE_STRUCT}.
-
-@item ffi_type **elements
-This is a @samp{NULL}-terminated array of pointers to @code{ffi_type}
-objects.  There is one element per field of the struct.
-@end table
-@end deftp
-
-
-@node Type Example
-@subsection Type Example
-
-The following example initializes a @code{ffi_type} object
-representing the @code{tm} struct from Linux's @file{time.h}.
-
-Here is how the struct is defined:
-
-@example
-struct tm @{
-    int tm_sec;
-    int tm_min;
-    int tm_hour;
-    int tm_mday;
-    int tm_mon;
-    int tm_year;
-    int tm_wday;
-    int tm_yday;
-    int tm_isdst;
-    /* Those are for future use. */
-    long int __tm_gmtoff__;
-    __const char *__tm_zone__;
-@};
-@end example
-
-Here is the corresponding code to describe this struct to
-@code{libffi}:
-
-@example
-    @{
-      ffi_type tm_type;
-      ffi_type *tm_type_elements[12];
-      int i;
-
-      tm_type.size = tm_type.alignment = 0;
-      tm_type.elements = &tm_type_elements;
-    
-      for (i = 0; i < 9; i++)
-          tm_type_elements[i] = &ffi_type_sint;
-
-      tm_type_elements[9] = &ffi_type_slong;
-      tm_type_elements[10] = &ffi_type_pointer;
-      tm_type_elements[11] = NULL;
-
-      /* tm_type can now be used to represent tm argument types and
-        return types for ffi_prep_cif() */
-    @}
-@end example
-
-
-@node Multiple ABIs
-@section Multiple ABIs
-
-A given platform may provide multiple different ABIs at once.  For
-instance, the x86 platform has both @samp{stdcall} and @samp{fastcall}
-functions.
-
-@code{libffi} provides some support for this.  However, this is
-necessarily platform-specific.
-
-@c FIXME: document the platforms
-
-@node The Closure API
-@section The Closure API
-
-@code{libffi} also provides a way to write a generic function -- a
-function that can accept and decode any combination of arguments.
-This can be useful when writing an interpreter, or to provide wrappers
-for arbitrary functions.
-
-This facility is called the @dfn{closure API}.  Closures are not
-supported on all platforms; you can check the @code{FFI_CLOSURES}
-define to determine whether they are supported on the current
-platform.
-@cindex closures
-@cindex closure API
-@findex FFI_CLOSURES
-
-Because closures work by assembling a tiny function at runtime, they
-require special allocation on platforms that have a non-executable
-heap.  Memory management for closures is handled by a pair of
-functions:
-
-@findex ffi_closure_alloc
-@defun void *ffi_closure_alloc (size_t @var{size}, void **@var{code})
-Allocate a chunk of memory holding @var{size} bytes.  This returns a
-pointer to the writable address, and sets *@var{code} to the
-corresponding executable address.
-
-@var{size} should be sufficient to hold a @code{ffi_closure} object.
-@end defun
-
-@findex ffi_closure_free
-@defun void ffi_closure_free (void *@var{writable})
-Free memory allocated using @code{ffi_closure_alloc}.  The argument is
-the writable address that was returned.
-@end defun
-
-
-Once you have allocated the memory for a closure, you must construct a
-@code{ffi_cif} describing the function call.  Finally you can prepare
-the closure function:
-
-@findex ffi_prep_closure_loc
-@defun ffi_status ffi_prep_closure_loc (ffi_closure *@var{closure}, ffi_cif *@var{cif}, void (*@var{fun}) (ffi_cif *@var{cif}, void *@var{ret}, void **@var{args}, void *@var{user_data}), void *@var{user_data}, void *@var{codeloc})
-Prepare a closure function.
-
-@var{closure} is the address of a @code{ffi_closure} object; this is
-the writable address returned by @code{ffi_closure_alloc}.
-
-@var{cif} is the @code{ffi_cif} describing the function parameters.
-
-@var{user_data} is an arbitrary datum that is passed, uninterpreted,
-to your closure function.
-
-@var{codeloc} is the executable address returned by
-@code{ffi_closure_alloc}.
-
-@var{fun} is the function which will be called when the closure is
-invoked.  It is called with the arguments:
-@table @var
-@item cif
-The @code{ffi_cif} passed to @code{ffi_prep_closure_loc}.
-
-@item ret
-A pointer to the memory used for the function's return value.
-@var{fun} must fill this, unless the function is declared as returning
-@code{void}.
-@c FIXME: is this NULL for void-returning functions?
-
-@item args
-A vector of pointers to memory holding the arguments to the function.
-
-@item user_data
-The same @var{user_data} that was passed to
-@code{ffi_prep_closure_loc}.
-@end table
-
-@code{ffi_prep_closure_loc} will return @code{FFI_OK} if everything
-went ok, and something else on error.
-@c FIXME: what?
-
-After calling @code{ffi_prep_closure_loc}, you can cast @var{codeloc}
-to the appropriate pointer-to-function type.
-@end defun
-
-You may see old code referring to @code{ffi_prep_closure}.  This
-function is deprecated, as it cannot handle the need for separate
-writable and executable addresses.
-
-@node Closure Example
-@section Closure Example
-
-A trivial example that creates a new @code{puts} by binding 
-@code{fputs} with @code{stdin}.
-
-@example
-#include <stdio.h>
-#include <ffi.h>
-
-/* Acts like puts with the file given at time of enclosure. */
-void puts_binding(ffi_cif *cif, unsigned int *ret, void* args[], 
-                  FILE *stream)
-@{
-  *ret = fputs(*(char **)args[0], stream);
-@}
-
-int main()
-@{
-  ffi_cif cif;
-  ffi_type *args[1];
-  ffi_closure *closure;
-
-  int (*bound_puts)(char *);
-  int rc;
-  
-  /* Allocate closure and bound_puts */
-  closure = ffi_closure_alloc(sizeof(ffi_closure), &bound_puts);
-
-  if (closure)
-    @{
-      /* Initialize the argument info vectors */
-      args[0] = &ffi_type_pointer;
-
-      /* Initialize the cif */
-      if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
-                       &ffi_type_uint, args) == FFI_OK)
-        @{
-          /* Initialize the closure, setting stream to stdout */
-          if (ffi_prep_closure_loc(closure, &cif, puts_binding, 
-                                   stdout, bound_puts) == FFI_OK)
-            @{
-              rc = bound_puts("Hello World!");
-              /* rc now holds the result of the call to fputs */
-            @}
-        @}
-    @}
-
-  /* Deallocate both closure, and bound_puts */
-  ffi_closure_free(closure);
-
-  return 0;
-@}
-
-@end example
-
-
-@node Missing Features
-@chapter Missing Features
-
-@code{libffi} is missing a few features.  We welcome patches to add
-support for these.
-
-@itemize @bullet
-@item
-There is no support for calling varargs functions.  This may work on
-some platforms, depending on how the ABI is defined, but it is not
-reliable.
-
-@item
-There is no support for bit fields in structures.
-
-@item
-The closure API is
-
-@c FIXME: ...
-
-@item
-The ``raw'' API is undocumented.
-@c argument promotion?
-@c unions?
-@c anything else?
-@end itemize
-
-
-@node Index
-@unnumbered Index
-
-@printindex cp
-
-@bye
diff --git a/.pc/variadic/include/ffi.h.in b/.pc/variadic/include/ffi.h.in
deleted file mode 100644 (file)
index f5a29b0..0000000
+++ /dev/null
@@ -1,427 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   libffi @VERSION@ - Copyright (c) 2011 Anthony Green
-                    - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc.
-
-   Permission is hereby granted, free of charge, to any person
-   obtaining a copy of this software and associated documentation
-   files (the ``Software''), to deal in the Software without
-   restriction, including without limitation the rights to use, copy,
-   modify, merge, publish, distribute, sublicense, and/or sell copies
-   of the Software, and to permit persons to whom the Software is
-   furnished to do so, subject to the following conditions:
-
-   The above copyright notice and this permission notice shall be
-   included in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-/* -------------------------------------------------------------------
-   The basic API is described in the README file.
-
-   The raw API is designed to bypass some of the argument packing
-   and unpacking on architectures for which it can be avoided.
-
-   The closure API allows interpreted functions to be packaged up
-   inside a C function pointer, so that they can be called as C functions,
-   with no understanding on the client side that they are interpreted.
-   It can also be used in other cases in which it is necessary to package
-   up a user specified parameter and a function pointer as a single
-   function pointer.
-
-   The closure API must be implemented in order to get its functionality,
-   e.g. for use by gij.  Routines are provided to emulate the raw API
-   if the underlying platform doesn't allow faster implementation.
-
-   More details on the raw and cloure API can be found in:
-
-   http://gcc.gnu.org/ml/java/1999-q3/msg00138.html
-
-   and
-
-   http://gcc.gnu.org/ml/java/1999-q3/msg00174.html
-   -------------------------------------------------------------------- */
-
-#ifndef LIBFFI_H
-#define LIBFFI_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Specify which architecture libffi is configured for. */
-#ifndef @TARGET@
-#define @TARGET@
-#endif
-
-/* ---- System configuration information --------------------------------- */
-
-#include <ffitarget.h>
-
-#ifndef LIBFFI_ASM
-
-#ifdef _MSC_VER
-#define __attribute__(X)
-#endif
-
-#include <stddef.h>
-#include <limits.h>
-
-/* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example).
-   But we can find it either under the correct ANSI name, or under GNU
-   C's internal name.  */
-
-#define FFI_64_BIT_MAX 9223372036854775807
-
-#ifdef LONG_LONG_MAX
-# define FFI_LONG_LONG_MAX LONG_LONG_MAX
-#else
-# ifdef LLONG_MAX
-#  define FFI_LONG_LONG_MAX LLONG_MAX
-#  ifdef _AIX52 /* or newer has C99 LLONG_MAX */
-#   undef FFI_64_BIT_MAX
-#   define FFI_64_BIT_MAX 9223372036854775807LL
-#  endif /* _AIX52 or newer */
-# else
-#  ifdef __GNUC__
-#   define FFI_LONG_LONG_MAX __LONG_LONG_MAX__
-#  endif
-#  ifdef _AIX /* AIX 5.1 and earlier have LONGLONG_MAX */
-#   ifndef __PPC64__
-#    if defined (__IBMC__) || defined (__IBMCPP__)
-#     define FFI_LONG_LONG_MAX LONGLONG_MAX
-#    endif
-#   endif /* __PPC64__ */
-#   undef  FFI_64_BIT_MAX
-#   define FFI_64_BIT_MAX 9223372036854775807LL
-#  endif
-# endif
-#endif
-
-/* The closure code assumes that this works on pointers, i.e. a size_t */
-/* can hold a pointer.                                                 */
-
-typedef struct _ffi_type
-{
-  size_t size;
-  unsigned short alignment;
-  unsigned short type;
-  struct _ffi_type **elements;
-} ffi_type;
-
-#ifndef LIBFFI_HIDE_BASIC_TYPES
-#if SCHAR_MAX == 127
-# define ffi_type_uchar                ffi_type_uint8
-# define ffi_type_schar                ffi_type_sint8
-#else
- #error "char size not supported"
-#endif
-
-#if SHRT_MAX == 32767
-# define ffi_type_ushort       ffi_type_uint16
-# define ffi_type_sshort       ffi_type_sint16
-#elif SHRT_MAX == 2147483647
-# define ffi_type_ushort       ffi_type_uint32
-# define ffi_type_sshort       ffi_type_sint32
-#else
- #error "short size not supported"
-#endif
-
-#if INT_MAX == 32767
-# define ffi_type_uint         ffi_type_uint16
-# define ffi_type_sint         ffi_type_sint16
-#elif INT_MAX == 2147483647
-# define ffi_type_uint         ffi_type_uint32
-# define ffi_type_sint         ffi_type_sint32
-#elif INT_MAX == 9223372036854775807
-# define ffi_type_uint         ffi_type_uint64
-# define ffi_type_sint         ffi_type_sint64
-#else
- #error "int size not supported"
-#endif
-
-#if LONG_MAX == 2147483647
-# if FFI_LONG_LONG_MAX != FFI_64_BIT_MAX
- #error "no 64-bit data type supported"
-# endif
-#elif LONG_MAX != FFI_64_BIT_MAX
- #error "long size not supported"
-#endif
-
-#if LONG_MAX == 2147483647
-# define ffi_type_ulong        ffi_type_uint32
-# define ffi_type_slong        ffi_type_sint32
-#elif LONG_MAX == FFI_64_BIT_MAX
-# define ffi_type_ulong        ffi_type_uint64
-# define ffi_type_slong        ffi_type_sint64
-#else
- #error "long size not supported"
-#endif
-
-/* These are defined in types.c */
-extern ffi_type ffi_type_void;
-extern ffi_type ffi_type_uint8;
-extern ffi_type ffi_type_sint8;
-extern ffi_type ffi_type_uint16;
-extern ffi_type ffi_type_sint16;
-extern ffi_type ffi_type_uint32;
-extern ffi_type ffi_type_sint32;
-extern ffi_type ffi_type_uint64;
-extern ffi_type ffi_type_sint64;
-extern ffi_type ffi_type_float;
-extern ffi_type ffi_type_double;
-extern ffi_type ffi_type_pointer;
-
-#if @HAVE_LONG_DOUBLE@
-extern ffi_type ffi_type_longdouble;
-#else
-#define ffi_type_longdouble ffi_type_double
-#endif
-#endif /* LIBFFI_HIDE_BASIC_TYPES */
-
-typedef enum {
-  FFI_OK = 0,
-  FFI_BAD_TYPEDEF,
-  FFI_BAD_ABI
-} ffi_status;
-
-typedef unsigned FFI_TYPE;
-
-typedef struct {
-  ffi_abi abi;
-  unsigned nargs;
-  ffi_type **arg_types;
-  ffi_type *rtype;
-  unsigned bytes;
-  unsigned flags;
-#ifdef FFI_EXTRA_CIF_FIELDS
-  FFI_EXTRA_CIF_FIELDS;
-#endif
-} ffi_cif;
-
-/* ---- Definitions for the raw API -------------------------------------- */
-
-#ifndef FFI_SIZEOF_ARG
-# if LONG_MAX == 2147483647
-#  define FFI_SIZEOF_ARG        4
-# elif LONG_MAX == FFI_64_BIT_MAX
-#  define FFI_SIZEOF_ARG        8
-# endif
-#endif
-
-#ifndef FFI_SIZEOF_JAVA_RAW
-#  define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG
-#endif
-
-typedef union {
-  ffi_sarg  sint;
-  ffi_arg   uint;
-  float            flt;
-  char      data[FFI_SIZEOF_ARG];
-  void*     ptr;
-} ffi_raw;
-
-#if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8
-/* This is a special case for mips64/n32 ABI (and perhaps others) where
-   sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8.  */
-typedef union {
-  signed int   sint;
-  unsigned int uint;
-  float                flt;
-  char         data[FFI_SIZEOF_JAVA_RAW];
-  void*                ptr;
-} ffi_java_raw;
-#else
-typedef ffi_raw ffi_java_raw;
-#endif
-
-
-void ffi_raw_call (ffi_cif *cif,
-                  void (*fn)(void),
-                  void *rvalue,
-                  ffi_raw *avalue);
-
-void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
-void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
-size_t ffi_raw_size (ffi_cif *cif);
-
-/* This is analogous to the raw API, except it uses Java parameter     */
-/* packing, even on 64-bit machines.  I.e. on 64-bit machines          */
-/* longs and doubles are followed by an empty 64-bit word.             */
-
-void ffi_java_raw_call (ffi_cif *cif,
-                       void (*fn)(void),
-                       void *rvalue,
-                       ffi_java_raw *avalue);
-
-void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw);
-void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args);
-size_t ffi_java_raw_size (ffi_cif *cif);
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#if FFI_CLOSURES
-
-#ifdef _MSC_VER
-__declspec(align(8))
-#endif
-typedef struct {
-  char tramp[FFI_TRAMPOLINE_SIZE];
-  ffi_cif   *cif;
-  void     (*fun)(ffi_cif*,void*,void**,void*);
-  void      *user_data;
-#ifdef __GNUC__
-} ffi_closure __attribute__((aligned (8)));
-#else
-} ffi_closure;
-# ifdef __sgi
-#  pragma pack 0
-# endif
-#endif
-
-void *ffi_closure_alloc (size_t size, void **code);
-void ffi_closure_free (void *);
-
-ffi_status
-ffi_prep_closure (ffi_closure*,
-                 ffi_cif *,
-                 void (*fun)(ffi_cif*,void*,void**,void*),
-                 void *user_data);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure*,
-                     ffi_cif *,
-                     void (*fun)(ffi_cif*,void*,void**,void*),
-                     void *user_data,
-                     void*codeloc);
-
-#ifdef __sgi
-# pragma pack 8
-#endif
-typedef struct {
-  char tramp[FFI_TRAMPOLINE_SIZE];
-
-  ffi_cif   *cif;
-
-#if !FFI_NATIVE_RAW_API
-
-  /* if this is enabled, then a raw closure has the same layout 
-     as a regular closure.  We use this to install an intermediate 
-     handler to do the transaltion, void** -> ffi_raw*. */
-
-  void     (*translate_args)(ffi_cif*,void*,void**,void*);
-  void      *this_closure;
-
-#endif
-
-  void     (*fun)(ffi_cif*,void*,ffi_raw*,void*);
-  void      *user_data;
-
-} ffi_raw_closure;
-
-typedef struct {
-  char tramp[FFI_TRAMPOLINE_SIZE];
-
-  ffi_cif   *cif;
-
-#if !FFI_NATIVE_RAW_API
-
-  /* if this is enabled, then a raw closure has the same layout 
-     as a regular closure.  We use this to install an intermediate 
-     handler to do the transaltion, void** -> ffi_raw*. */
-
-  void     (*translate_args)(ffi_cif*,void*,void**,void*);
-  void      *this_closure;
-
-#endif
-
-  void     (*fun)(ffi_cif*,void*,ffi_java_raw*,void*);
-  void      *user_data;
-
-} ffi_java_raw_closure;
-
-ffi_status
-ffi_prep_raw_closure (ffi_raw_closure*,
-                     ffi_cif *cif,
-                     void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
-                     void *user_data);
-
-ffi_status
-ffi_prep_raw_closure_loc (ffi_raw_closure*,
-                         ffi_cif *cif,
-                         void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
-                         void *user_data,
-                         void *codeloc);
-
-ffi_status
-ffi_prep_java_raw_closure (ffi_java_raw_closure*,
-                          ffi_cif *cif,
-                          void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
-                          void *user_data);
-
-ffi_status
-ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*,
-                              ffi_cif *cif,
-                              void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*),
-                              void *user_data,
-                              void *codeloc);
-
-#endif /* FFI_CLOSURES */
-
-/* ---- Public interface definition -------------------------------------- */
-
-ffi_status ffi_prep_cif(ffi_cif *cif,
-                       ffi_abi abi,
-                       unsigned int nargs,
-                       ffi_type *rtype,
-                       ffi_type **atypes);
-
-void ffi_call(ffi_cif *cif,
-             void (*fn)(void),
-             void *rvalue,
-             void **avalue);
-
-/* Useful for eliminating compiler warnings */
-#define FFI_FN(f) ((void (*)(void))f)
-
-/* ---- Definitions shared with assembly code ---------------------------- */
-
-#endif
-
-/* If these change, update src/mips/ffitarget.h. */
-#define FFI_TYPE_VOID       0    
-#define FFI_TYPE_INT        1
-#define FFI_TYPE_FLOAT      2    
-#define FFI_TYPE_DOUBLE     3
-#if @HAVE_LONG_DOUBLE@
-#define FFI_TYPE_LONGDOUBLE 4
-#else
-#define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE
-#endif
-#define FFI_TYPE_UINT8      5   
-#define FFI_TYPE_SINT8      6
-#define FFI_TYPE_UINT16     7 
-#define FFI_TYPE_SINT16     8
-#define FFI_TYPE_UINT32     9
-#define FFI_TYPE_SINT32     10
-#define FFI_TYPE_UINT64     11
-#define FFI_TYPE_SINT64     12
-#define FFI_TYPE_STRUCT     13
-#define FFI_TYPE_POINTER    14
-
-/* This should always refer to the last type code (for sanity checks) */
-#define FFI_TYPE_LAST       FFI_TYPE_POINTER
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/.pc/variadic/include/ffi_common.h b/.pc/variadic/include/ffi_common.h
deleted file mode 100644 (file)
index d953762..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi_common.h - Copyright (C) 2011  Anthony Green
-                  Copyright (C) 2007  Free Software Foundation, Inc
-                  Copyright (c) 1996  Red Hat, Inc.
-                  
-   Common internal definitions and macros. Only necessary for building
-   libffi.
-   ----------------------------------------------------------------------- */
-
-#ifndef FFI_COMMON_H
-#define FFI_COMMON_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <fficonfig.h>
-
-/* Do not move this. Some versions of AIX are very picky about where
-   this is positioned. */
-#ifdef __GNUC__
-/* mingw64 defines this already in malloc.h. */
-#ifndef alloca
-# define alloca __builtin_alloca
-#endif
-# define MAYBE_UNUSED __attribute__((__unused__))
-#else
-# define MAYBE_UNUSED
-# if HAVE_ALLOCA_H
-#  include <alloca.h>
-# else
-#  ifdef _AIX
- #pragma alloca
-#  else
-#   ifndef alloca /* predefined by HP cc +Olibcalls */
-#    ifdef _MSC_VER
-#     define alloca _alloca
-#    else
-char *alloca ();
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-/* Check for the existence of memcpy. */
-#if STDC_HEADERS
-# include <string.h>
-#else
-# ifndef HAVE_MEMCPY
-#  define memcpy(d, s, n) bcopy ((s), (d), (n))
-# endif
-#endif
-
-#if defined(FFI_DEBUG)
-#include <stdio.h>
-#endif
-
-#ifdef FFI_DEBUG
-void ffi_assert(char *expr, char *file, int line);
-void ffi_stop_here(void);
-void ffi_type_test(ffi_type *a, char *file, int line);
-
-#define FFI_ASSERT(x) ((x) ? (void)0 : ffi_assert(#x, __FILE__,__LINE__))
-#define FFI_ASSERT_AT(x, f, l) ((x) ? 0 : ffi_assert(#x, (f), (l)))
-#define FFI_ASSERT_VALID_TYPE(x) ffi_type_test (x, __FILE__, __LINE__)
-#else
-#define FFI_ASSERT(x)
-#define FFI_ASSERT_AT(x, f, l)
-#define FFI_ASSERT_VALID_TYPE(x)
-#endif
-
-#define ALIGN(v, a)  (((((size_t) (v))-1) | ((a)-1))+1)
-#define ALIGN_DOWN(v, a) (((size_t) (v)) & -a)
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif);
-
-/* Extended cif, used in callback from assembly routine */
-typedef struct
-{
-  ffi_cif *cif;
-  void *rvalue;
-  void **avalue;
-} extended_cif;
-
-/* Terse sized type definitions.  */
-#if defined(_MSC_VER) || defined(__sgi)
-typedef unsigned char UINT8;
-typedef signed char   SINT8;
-typedef unsigned short UINT16;
-typedef signed short   SINT16;
-typedef unsigned int UINT32;
-typedef signed int   SINT32;
-# ifdef _MSC_VER
-typedef unsigned __int64 UINT64;
-typedef signed __int64   SINT64;
-# else
-# include <inttypes.h>
-typedef uint64_t UINT64;
-typedef int64_t  SINT64;
-# endif
-#else
-typedef unsigned int UINT8  __attribute__((__mode__(__QI__)));
-typedef signed int   SINT8  __attribute__((__mode__(__QI__)));
-typedef unsigned int UINT16 __attribute__((__mode__(__HI__)));
-typedef signed int   SINT16 __attribute__((__mode__(__HI__)));
-typedef unsigned int UINT32 __attribute__((__mode__(__SI__)));
-typedef signed int   SINT32 __attribute__((__mode__(__SI__)));
-typedef unsigned int UINT64 __attribute__((__mode__(__DI__)));
-typedef signed int   SINT64 __attribute__((__mode__(__DI__)));
-#endif
-
-typedef float FLOAT32;
-
-#ifndef __GNUC__
-#define __builtin_expect(x, expected_value) (x)
-#endif
-#define LIKELY(x)    __builtin_expect((x),1)
-#define UNLIKELY(x)  __builtin_expect((x),1)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/.pc/variadic/man/ffi.3 b/.pc/variadic/man/ffi.3
deleted file mode 100644 (file)
index 18b5d5d..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-.Dd February 15, 2008
-.Dt FFI 3
-.Sh NAME
-.Nm FFI
-.Nd Foreign Function Interface
-.Sh LIBRARY
-libffi, -lffi
-.Sh SYNOPSIS
-.In ffi.h
-.Ft ffi_status
-.Fo ffi_prep_cif
-.Fa "ffi_cif *cif"
-.Fa "ffi_abi abi"
-.Fa "unsigned int nargs"
-.Fa "ffi_type *rtype"
-.Fa "ffi_type **atypes"
-.Fc
-.Ft void
-.Fo ffi_call
-.Fa "ffi_cif *cif"
-.Fa "void (*fn)(void)"
-.Fa "void *rvalue"
-.Fa "void **avalue"
-.Fc
-.Sh DESCRIPTION
-The foreign function interface provides a mechanism by which a function can
-generate a call to another function at runtime without requiring knowledge of
-the called function's interface at compile time.
-.Sh SEE ALSO
-.Xr ffi_prep_cif 3 ,
-.Xr ffi_call 3
diff --git a/.pc/variadic/man/ffi_prep_cif.3 b/.pc/variadic/man/ffi_prep_cif.3
deleted file mode 100644 (file)
index 9436b31..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-.Dd February 15, 2008
-.Dt ffi_prep_cif 3
-.Sh NAME
-.Nm ffi_prep_cif
-.Nd Prepare a
-.Nm ffi_cif
-structure for use with
-.Nm ffi_call 
-.
-.Sh SYNOPSIS
-.In ffi.h
-.Ft ffi_status
-.Fo ffi_prep_cif
-.Fa "ffi_cif *cif"
-.Fa "ffi_abi abi"
-.Fa "unsigned int nargs"
-.Fa "ffi_type *rtype"
-.Fa "ffi_type **atypes"
-.Fc
-.Sh DESCRIPTION
-The
-.Nm ffi_prep_cif
-function prepares a
-.Nm ffi_cif
-structure for use with 
-.Nm ffi_call
-.
-.Fa abi
-specifies a set of calling conventions to use.
-.Fa atypes
-is an array of
-.Fa nargs
-pointers to
-.Nm ffi_type
-structs that describe the data type, size and alignment of each argument.
-.Fa rtype
-points to an
-.Nm ffi_type
-that describes the data type, size and alignment of the
-return value.
-.Sh RETURN VALUES
-Upon successful completion,
-.Nm ffi_prep_cif
-returns
-.Nm FFI_OK .
-It will return
-.Nm FFI_BAD_TYPEDEF
-if
-.Fa cif
-is
-.Nm NULL
-or
-.Fa atypes
-or
-.Fa rtype
-is malformed. If
-.Fa abi
-does not refer to a valid ABI,
-.Nm FFI_BAD_ABI
-will be returned. Available ABIs are
-defined in
-.Nm <ffitarget.h>
-.
-.Sh SEE ALSO
-.Xr ffi 3 ,
-.Xr ffi_call 3 
diff --git a/.pc/variadic/man/ffi_prep_cif_var.3 b/.pc/variadic/man/ffi_prep_cif_var.3
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/variadic/src/arm/ffi.c b/.pc/variadic/src/arm/ffi.c
deleted file mode 100644 (file)
index fe199be..0000000
+++ /dev/null
@@ -1,740 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 2011 Timothy Wall
-           Copyright (c) 2011 Plausible Labs Cooperative, Inc.
-           Copyright (c) 2011 Anthony Green
-          Copyright (c) 2011 Free Software Foundation
-           Copyright (c) 1998, 2008, 2011  Red Hat, Inc.
-          
-   ARM Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-/* Forward declares. */
-static int vfp_type_p (ffi_type *);
-static void layout_vfp_args (ffi_cif *);
-
-/* ffi_prep_args is called by the assembly routine once stack space
-   has been allocated for the function's arguments
-   
-   The vfp_space parameter is the load area for VFP regs, the return
-   value is cif->vfp_used (word bitset of VFP regs used for passing
-   arguments). These are only used for the VFP hard-float ABI.
-*/
-int ffi_prep_args(char *stack, extended_cif *ecif, float *vfp_space)
-{
-  register unsigned int i, vi = 0;
-  register void **p_argv;
-  register char *argp;
-  register ffi_type **p_arg;
-
-  argp = stack;
-
-  if ( ecif->cif->flags == FFI_TYPE_STRUCT ) {
-    *(void **) argp = ecif->rvalue;
-    argp += 4;
-  }
-
-  p_argv = ecif->avalue;
-
-  for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
-       (i != 0);
-       i--, p_arg++)
-    {
-      size_t z;
-      size_t alignment;
-
-      /* Allocated in VFP registers. */
-      if (ecif->cif->abi == FFI_VFP
-         && vi < ecif->cif->vfp_nargs && vfp_type_p (*p_arg))
-       {
-         float* vfp_slot = vfp_space + ecif->cif->vfp_args[vi++];
-         if ((*p_arg)->type == FFI_TYPE_FLOAT)
-           *((float*)vfp_slot) = *((float*)*p_argv);
-         else if ((*p_arg)->type == FFI_TYPE_DOUBLE)
-           *((double*)vfp_slot) = *((double*)*p_argv);
-         else
-           memcpy(vfp_slot, *p_argv, (*p_arg)->size);
-         p_argv++;
-         continue;
-       }
-
-      /* Align if necessary */
-      alignment = (*p_arg)->alignment;
-#ifdef _WIN32_WCE
-      if (alignment > 4)
-       alignment = 4;
-#endif
-      if ((alignment - 1) & (unsigned) argp) {
-       argp = (char *) ALIGN(argp, alignment);
-      }
-
-      if ((*p_arg)->type == FFI_TYPE_STRUCT)
-       argp = (char *) ALIGN(argp, 4);
-
-         z = (*p_arg)->size;
-         if (z < sizeof(int))
-           {
-             z = sizeof(int);
-             switch ((*p_arg)->type)
-               {
-               case FFI_TYPE_SINT8:
-                 *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_UINT8:
-                 *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_SINT16:
-                 *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_UINT16:
-                 *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_STRUCT:
-                 memcpy(argp, *p_argv, (*p_arg)->size);
-                 break;
-
-               default:
-                 FFI_ASSERT(0);
-               }
-           }
-         else if (z == sizeof(int))
-           {
-             *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv);
-           }
-         else
-           {
-             memcpy(argp, *p_argv, z);
-           }
-         p_argv++;
-         argp += z;
-    }
-
-  /* Indicate the VFP registers used. */
-  return ecif->cif->vfp_used;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
-  int type_code;
-  /* Round the stack up to a multiple of 8 bytes.  This isn't needed 
-     everywhere, but it is on some platforms, and it doesn't harm anything
-     when it isn't needed.  */
-  cif->bytes = (cif->bytes + 7) & ~7;
-
-  /* Set the return type flag */
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_VOID:
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-      cif->flags = (unsigned) cif->rtype->type;
-      break;
-
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_UINT64:
-      cif->flags = (unsigned) FFI_TYPE_SINT64;
-      break;
-
-    case FFI_TYPE_STRUCT:
-      if (cif->abi == FFI_VFP
-         && (type_code = vfp_type_p (cif->rtype)) != 0)
-       {
-         /* A Composite Type passed in VFP registers, either
-            FFI_TYPE_STRUCT_VFP_FLOAT or FFI_TYPE_STRUCT_VFP_DOUBLE. */
-         cif->flags = (unsigned) type_code;
-       }
-      else if (cif->rtype->size <= 4)
-       /* A Composite Type not larger than 4 bytes is returned in r0.  */
-       cif->flags = (unsigned)FFI_TYPE_INT;
-      else
-       /* A Composite Type larger than 4 bytes, or whose size cannot
-          be determined statically ... is stored in memory at an
-          address passed [in r0].  */
-       cif->flags = (unsigned)FFI_TYPE_STRUCT;
-      break;
-
-    default:
-      cif->flags = FFI_TYPE_INT;
-      break;
-    }
-
-  /* Map out the register placements of VFP register args.
-     The VFP hard-float calling conventions are slightly more sophisticated than
-     the base calling conventions, so we do it here instead of in ffi_prep_args(). */
-  if (cif->abi == FFI_VFP)
-    layout_vfp_args (cif);
-
-  return FFI_OK;
-}
-
-/* Prototypes for assembly functions, in sysv.S */
-extern void ffi_call_SYSV (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-extern void ffi_call_VFP (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  int small_struct = (cif->flags == FFI_TYPE_INT 
-                     && cif->rtype->type == FFI_TYPE_STRUCT);
-  int vfp_struct = (cif->flags == FFI_TYPE_STRUCT_VFP_FLOAT
-                   || cif->flags == FFI_TYPE_STRUCT_VFP_DOUBLE);
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  unsigned int temp;
-  
-  /* If the return value is a struct and we don't have a return        */
-  /* value address then we need to make one                    */
-
-  if ((rvalue == NULL) && 
-      (cif->flags == FFI_TYPE_STRUCT))
-    {
-      ecif.rvalue = alloca(cif->rtype->size);
-    }
-  else if (small_struct)
-    ecif.rvalue = &temp;
-  else if (vfp_struct)
-    {
-      /* Largest case is double x 4. */
-      ecif.rvalue = alloca(32);
-    }
-  else
-    ecif.rvalue = rvalue;
-
-  switch (cif->abi) 
-    {
-    case FFI_SYSV:
-      ffi_call_SYSV (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
-      break;
-
-    case FFI_VFP:
-      ffi_call_VFP (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
-      break;
-
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-  if (small_struct)
-    memcpy (rvalue, &temp, cif->rtype->size);
-  else if (vfp_struct)
-    memcpy (rvalue, ecif.rvalue, cif->rtype->size);
-}
-
-/** private members **/
-
-static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
-                                        void** args, ffi_cif* cif, float *vfp_stack);
-
-void ffi_closure_SYSV (ffi_closure *);
-
-void ffi_closure_VFP (ffi_closure *);
-
-/* This function is jumped to by the trampoline */
-
-unsigned int
-ffi_closure_SYSV_inner (closure, respp, args, vfp_args)
-     ffi_closure *closure;
-     void **respp;
-     void *args;
-     void *vfp_args;
-{
-  // our various things...
-  ffi_cif       *cif;
-  void         **arg_area;
-
-  cif         = closure->cif;
-  arg_area    = (void**) alloca (cif->nargs * sizeof (void*));  
-
-  /* this call will initialize ARG_AREA, such that each
-   * element in that array points to the corresponding 
-   * value on the stack; and if the function returns
-   * a structure, it will re-set RESP to point to the
-   * structure return address.  */
-
-  ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif, vfp_args);
-
-  (closure->fun) (cif, *respp, arg_area, closure->user_data);
-
-  return cif->flags;
-}
-
-/*@-exportheader@*/
-static void 
-ffi_prep_incoming_args_SYSV(char *stack, void **rvalue,
-                           void **avalue, ffi_cif *cif,
-                           /* Used only under VFP hard-float ABI. */
-                           float *vfp_stack)
-/*@=exportheader@*/
-{
-  register unsigned int i, vi = 0;
-  register void **p_argv;
-  register char *argp;
-  register ffi_type **p_arg;
-
-  argp = stack;
-
-  if ( cif->flags == FFI_TYPE_STRUCT ) {
-    *rvalue = *(void **) argp;
-    argp += 4;
-  }
-
-  p_argv = avalue;
-
-  for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
-    {
-      size_t z;
-      size_t alignment;
-  
-      if (cif->abi == FFI_VFP
-         && vi < cif->vfp_nargs && vfp_type_p (*p_arg))
-       {
-         *p_argv++ = (void*)(vfp_stack + cif->vfp_args[vi++]);
-         continue;
-       }
-
-      alignment = (*p_arg)->alignment;
-      if (alignment < 4)
-       alignment = 4;
-#ifdef _WIN32_WCE
-      else
-       if (alignment > 4)
-         alignment = 4;
-#endif
-      /* Align if necessary */
-      if ((alignment - 1) & (unsigned) argp) {
-       argp = (char *) ALIGN(argp, alignment);
-      }
-
-      z = (*p_arg)->size;
-
-      /* because we're little endian, this is what it turns into.   */
-
-      *p_argv = (void*) argp;
-
-      p_argv++;
-      argp += z;
-    }
-  
-  return;
-}
-
-/* How to make a trampoline.  */
-
-extern unsigned int ffi_arm_trampoline[3];
-
-#if FFI_EXEC_TRAMPOLINE_TABLE
-
-#include <mach/mach.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-extern void *ffi_closure_trampoline_table_page;
-
-typedef struct ffi_trampoline_table ffi_trampoline_table;
-typedef struct ffi_trampoline_table_entry ffi_trampoline_table_entry;
-
-struct ffi_trampoline_table {
-  /* contigious writable and executable pages */
-  vm_address_t config_page;
-  vm_address_t trampoline_page;
-
-  /* free list tracking */
-  uint16_t free_count;
-  ffi_trampoline_table_entry *free_list;
-  ffi_trampoline_table_entry *free_list_pool;
-
-  ffi_trampoline_table *prev;
-  ffi_trampoline_table *next;
-};
-
-struct ffi_trampoline_table_entry {
-  void *(*trampoline)();
-  ffi_trampoline_table_entry *next;
-};
-
-/* Override the standard architecture trampoline size */
-// XXX TODO - Fix
-#undef FFI_TRAMPOLINE_SIZE
-#define FFI_TRAMPOLINE_SIZE 12
-
-/* The trampoline configuration is placed at 4080 bytes prior to the trampoline's entry point */
-#define FFI_TRAMPOLINE_CODELOC_CONFIG(codeloc) ((void **) (((uint8_t *) codeloc) - 4080));
-
-/* The first 16 bytes of the config page are unused, as they are unaddressable from the trampoline page. */
-#define FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET 16
-
-/* Total number of trampolines that fit in one trampoline table */
-#define FFI_TRAMPOLINE_COUNT ((PAGE_SIZE - FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET) / FFI_TRAMPOLINE_SIZE)
-
-static pthread_mutex_t ffi_trampoline_lock = PTHREAD_MUTEX_INITIALIZER;
-static ffi_trampoline_table *ffi_trampoline_tables = NULL;
-
-static ffi_trampoline_table *
-ffi_trampoline_table_alloc ()
-{
-  ffi_trampoline_table *table = NULL;
-
-  /* Loop until we can allocate two contigious pages */
-  while (table == NULL) {
-    vm_address_t config_page = 0x0;
-    kern_return_t kt;
-
-    /* Try to allocate two pages */
-    kt = vm_allocate (mach_task_self (), &config_page, PAGE_SIZE*2, VM_FLAGS_ANYWHERE);
-    if (kt != KERN_SUCCESS) {
-      fprintf(stderr, "vm_allocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-      break;
-    }
-
-    /* Now drop the second half of the allocation to make room for the trampoline table */
-    vm_address_t trampoline_page = config_page+PAGE_SIZE;
-    kt = vm_deallocate (mach_task_self (), trampoline_page, PAGE_SIZE);
-    if (kt != KERN_SUCCESS) {
-      fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-      break;
-    }
-
-    /* Remap the trampoline table to directly follow the config page */
-    vm_prot_t cur_prot;
-    vm_prot_t max_prot;
-
-    kt = vm_remap (mach_task_self (), &trampoline_page, PAGE_SIZE, 0x0, FALSE, mach_task_self (), (vm_address_t) &ffi_closure_trampoline_table_page, FALSE, &cur_prot, &max_prot, VM_INHERIT_SHARE);
-
-    /* If we lost access to the destination trampoline page, drop our config allocation mapping and retry */
-    if (kt != KERN_SUCCESS) {
-      /* Log unexpected failures */
-      if (kt != KERN_NO_SPACE) {
-        fprintf(stderr, "vm_remap() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-      }
-
-      vm_deallocate (mach_task_self (), config_page, PAGE_SIZE);
-      continue;
-    }
-
-    /* We have valid trampoline and config pages */
-    table = calloc (1, sizeof(ffi_trampoline_table));
-    table->free_count = FFI_TRAMPOLINE_COUNT;
-    table->config_page = config_page;
-    table->trampoline_page = trampoline_page;
-
-    /* Create and initialize the free list */
-    table->free_list_pool = calloc(FFI_TRAMPOLINE_COUNT, sizeof(ffi_trampoline_table_entry));
-
-    uint16_t i;
-    for (i = 0; i < table->free_count; i++) {
-      ffi_trampoline_table_entry *entry = &table->free_list_pool[i];
-      entry->trampoline = (void *) (table->trampoline_page + (i * FFI_TRAMPOLINE_SIZE));
-
-      if (i < table->free_count - 1)
-        entry->next = &table->free_list_pool[i+1];
-    }
-
-    table->free_list = table->free_list_pool;
-  }
-
-  return table;
-}
-
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
-  /* Create the closure */
-  ffi_closure *closure = malloc(size);
-  if (closure == NULL)
-    return NULL;
-
-  pthread_mutex_lock(&ffi_trampoline_lock);
-
-  /* Check for an active trampoline table with available entries. */
-  ffi_trampoline_table *table = ffi_trampoline_tables;
-  if (table == NULL || table->free_list == NULL) {
-    table = ffi_trampoline_table_alloc ();
-    if (table == NULL) {
-      free(closure);
-      return NULL;
-    }
-
-    /* Insert the new table at the top of the list */
-    table->next = ffi_trampoline_tables;
-    if (table->next != NULL)
-        table->next->prev = table;
-
-    ffi_trampoline_tables = table;
-  }
-
-  /* Claim the free entry */
-  ffi_trampoline_table_entry *entry = ffi_trampoline_tables->free_list;
-  ffi_trampoline_tables->free_list = entry->next;
-  ffi_trampoline_tables->free_count--;
-  entry->next = NULL;
-
-  pthread_mutex_unlock(&ffi_trampoline_lock);
-
-  /* Initialize the return values */
-  *code = entry->trampoline;
-  closure->trampoline_table = table;
-  closure->trampoline_table_entry = entry;
-
-  return closure;
-}
-
-void
-ffi_closure_free (void *ptr)
-{
-  ffi_closure *closure = ptr;
-
-  pthread_mutex_lock(&ffi_trampoline_lock);
-
-  /* Fetch the table and entry references */
-  ffi_trampoline_table *table = closure->trampoline_table;
-  ffi_trampoline_table_entry *entry = closure->trampoline_table_entry;
-
-  /* Return the entry to the free list */
-  entry->next = table->free_list;
-  table->free_list = entry;
-  table->free_count++;
-
-  /* If all trampolines within this table are free, and at least one other table exists, deallocate
-   * the table */
-  if (table->free_count == FFI_TRAMPOLINE_COUNT && ffi_trampoline_tables != table) {
-    /* Remove from the list */
-    if (table->prev != NULL)
-      table->prev->next = table->next;
-
-    if (table->next != NULL)
-      table->next->prev = table->prev;
-
-    /* Deallocate pages */
-    kern_return_t kt;
-    kt = vm_deallocate (mach_task_self (), table->config_page, PAGE_SIZE);
-    if (kt != KERN_SUCCESS)
-      fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-
-    kt = vm_deallocate (mach_task_self (), table->trampoline_page, PAGE_SIZE);
-    if (kt != KERN_SUCCESS)
-      fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-
-    /* Deallocate free list */
-    free (table->free_list_pool);
-    free (table);
-  } else if (ffi_trampoline_tables != table) {
-    /* Otherwise, bump this table to the top of the list */
-    table->prev = NULL;
-    table->next = ffi_trampoline_tables;
-    if (ffi_trampoline_tables != NULL)
-      ffi_trampoline_tables->prev = table;
-
-    ffi_trampoline_tables = table;
-  }
-
-  pthread_mutex_unlock (&ffi_trampoline_lock);
-
-  /* Free the closure */
-  free (closure);
-}
-
-#else
-
-#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX)                             \
-({ unsigned char *__tramp = (unsigned char*)(TRAMP);                   \
-   unsigned int  __fun = (unsigned int)(FUN);                          \
-   unsigned int  __ctx = (unsigned int)(CTX);                          \
-   unsigned char *insns = (unsigned char *)(CTX);                       \
-   memcpy (__tramp, ffi_arm_trampoline, sizeof ffi_arm_trampoline);     \
-   *(unsigned int*) &__tramp[12] = __ctx;                              \
-   *(unsigned int*) &__tramp[16] = __fun;                              \
-   __clear_cache((&__tramp[0]), (&__tramp[19])); /* Clear data mapping.  */ \
-   __clear_cache(insns, insns + 3 * sizeof (unsigned int));             \
-                                                 /* Clear instruction   \
-                                                    mapping.  */        \
- })
-
-#endif
-
-/* the cif must already be prep'ed */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif*,void*,void**,void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  void (*closure_func)(ffi_closure*) = NULL;
-
-  if (cif->abi == FFI_SYSV)
-    closure_func = &ffi_closure_SYSV;
-  else if (cif->abi == FFI_VFP)
-    closure_func = &ffi_closure_VFP;
-  else
-    return FFI_BAD_ABI;
-    
-#if FFI_EXEC_TRAMPOLINE_TABLE
-  void **config = FFI_TRAMPOLINE_CODELOC_CONFIG(codeloc);
-  config[0] = closure;
-  config[1] = closure_func;
-#else
-  FFI_INIT_TRAMPOLINE (&closure->tramp[0], \
-                      closure_func,  \
-                      codeloc);
-#endif
-
-  closure->cif  = cif;
-  closure->user_data = user_data;
-  closure->fun  = fun;
-
-  return FFI_OK;
-}
-
-/* Below are routines for VFP hard-float support. */
-
-static int rec_vfp_type_p (ffi_type *t, int *elt, int *elnum)
-{
-  switch (t->type)
-    {
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-      *elt = (int) t->type;
-      *elnum = 1;
-      return 1;
-
-    case FFI_TYPE_STRUCT_VFP_FLOAT:
-      *elt = FFI_TYPE_FLOAT;
-      *elnum = t->size / sizeof (float);
-      return 1;
-
-    case FFI_TYPE_STRUCT_VFP_DOUBLE:
-      *elt = FFI_TYPE_DOUBLE;
-      *elnum = t->size / sizeof (double);
-      return 1;
-
-    case FFI_TYPE_STRUCT:;
-      {
-       int base_elt = 0, total_elnum = 0;
-       ffi_type **el = t->elements;
-       while (*el)
-         {
-           int el_elt = 0, el_elnum = 0;
-           if (! rec_vfp_type_p (*el, &el_elt, &el_elnum)
-               || (base_elt && base_elt != el_elt)
-               || total_elnum + el_elnum > 4)
-             return 0;
-           base_elt = el_elt;
-           total_elnum += el_elnum;
-           el++;
-         }
-       *elnum = total_elnum;
-       *elt = base_elt;
-       return 1;
-      }
-    default: ;
-    }
-  return 0;
-}
-
-static int vfp_type_p (ffi_type *t)
-{
-  int elt, elnum;
-  if (rec_vfp_type_p (t, &elt, &elnum))
-    {
-      if (t->type == FFI_TYPE_STRUCT)
-       {
-         if (elnum == 1)
-           t->type = elt;
-         else
-           t->type = (elt == FFI_TYPE_FLOAT
-                      ? FFI_TYPE_STRUCT_VFP_FLOAT
-                      : FFI_TYPE_STRUCT_VFP_DOUBLE);
-       }
-      return (int) t->type;
-    }
-  return 0;
-}
-
-static void place_vfp_arg (ffi_cif *cif, ffi_type *t)
-{
-  int reg = cif->vfp_reg_free;
-  int nregs = t->size / sizeof (float);
-  int align = ((t->type == FFI_TYPE_STRUCT_VFP_FLOAT
-               || t->type == FFI_TYPE_FLOAT) ? 1 : 2);
-  /* Align register number. */
-  if ((reg & 1) && align == 2)
-    reg++;
-  while (reg + nregs <= 16)
-    {
-      int s, new_used = 0;
-      for (s = reg; s < reg + nregs; s++)
-       {
-         new_used |= (1 << s);
-         if (cif->vfp_used & (1 << s))
-           {
-             reg += align;
-             goto next_reg;
-           }
-       }
-      /* Found regs to allocate. */
-      cif->vfp_used |= new_used;
-      cif->vfp_args[cif->vfp_nargs++] = reg;
-
-      /* Update vfp_reg_free. */
-      if (cif->vfp_used & (1 << cif->vfp_reg_free))
-       {
-         reg += nregs;
-         while (cif->vfp_used & (1 << reg))
-           reg += 1;
-         cif->vfp_reg_free = reg;
-       }
-      return;
-    next_reg: ;
-    }
-}
-
-static void layout_vfp_args (ffi_cif *cif)
-{
-  int i;
-  /* Init VFP fields */
-  cif->vfp_used = 0;
-  cif->vfp_nargs = 0;
-  cif->vfp_reg_free = 0;
-  memset (cif->vfp_args, -1, 16); /* Init to -1. */
-
-  for (i = 0; i < cif->nargs; i++)
-    {
-      ffi_type *t = cif->arg_types[i];
-      if (vfp_type_p (t))
-       place_vfp_arg (cif, t);
-    }
-}
diff --git a/.pc/variadic/src/arm/ffitarget.h b/.pc/variadic/src/arm/ffitarget.h
deleted file mode 100644 (file)
index ce25b23..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 1996-2003  Red Hat, Inc.
-                 Copyright (c) 2010 CodeSourcery
-
-   Target configuration macros for ARM.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_ASM
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-  FFI_SYSV,
-  FFI_VFP,
-  FFI_LAST_ABI,
-#ifdef __ARM_PCS_VFP
-  FFI_DEFAULT_ABI = FFI_VFP,
-#else
-  FFI_DEFAULT_ABI = FFI_SYSV,
-#endif
-} ffi_abi;
-#endif
-
-#define FFI_EXTRA_CIF_FIELDS                   \
-  int vfp_used;                                        \
-  short vfp_reg_free, vfp_nargs;               \
-  signed char vfp_args[16]                     \
-
-/* Internally used. */
-#define FFI_TYPE_STRUCT_VFP_FLOAT  (FFI_TYPE_LAST + 1)
-#define FFI_TYPE_STRUCT_VFP_DOUBLE (FFI_TYPE_LAST + 2)
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TRAMPOLINE_SIZE 20
-#define FFI_NATIVE_RAW_API 0
-
-#endif
-
diff --git a/.pc/variadic/src/cris/ffi.c b/.pc/variadic/src/cris/ffi.c
deleted file mode 100644 (file)
index f25d7b4..0000000
+++ /dev/null
@@ -1,383 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 1998 Cygnus Solutions
-           Copyright (c) 2004 Simon Posnjak
-          Copyright (c) 2005 Axis Communications AB
-          Copyright (C) 2007 Free Software Foundation, Inc.
-
-   CRIS Foreign Function Interface
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
-   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL SIMON POSNJAK BE LIABLE FOR ANY CLAIM, DAMAGES OR
-   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-   OTHER DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-static ffi_status
-initialize_aggregate_packed_struct (ffi_type * arg)
-{
-  ffi_type **ptr;
-
-  FFI_ASSERT (arg != NULL);
-
-  FFI_ASSERT (arg->elements != NULL);
-  FFI_ASSERT (arg->size == 0);
-  FFI_ASSERT (arg->alignment == 0);
-
-  ptr = &(arg->elements[0]);
-
-  while ((*ptr) != NULL)
-    {
-      if (((*ptr)->size == 0)
-         && (initialize_aggregate_packed_struct ((*ptr)) != FFI_OK))
-       return FFI_BAD_TYPEDEF;
-
-      FFI_ASSERT (ffi_type_test ((*ptr)));
-
-      arg->size += (*ptr)->size;
-
-      arg->alignment = (arg->alignment > (*ptr)->alignment) ?
-       arg->alignment : (*ptr)->alignment;
-
-      ptr++;
-    }
-
-  if (arg->size == 0)
-    return FFI_BAD_TYPEDEF;
-  else
-    return FFI_OK;
-}
-
-int
-ffi_prep_args (char *stack, extended_cif * ecif)
-{
-  unsigned int i;
-  unsigned int struct_count = 0;
-  void **p_argv;
-  char *argp;
-  ffi_type **p_arg;
-
-  argp = stack;
-
-  p_argv = ecif->avalue;
-
-  for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
-       (i != 0); i--, p_arg++)
-    {
-      size_t z;
-
-      switch ((*p_arg)->type)
-       {
-       case FFI_TYPE_STRUCT:
-         {
-           z = (*p_arg)->size;
-           if (z <= 4)
-             {
-               memcpy (argp, *p_argv, z);
-               z = 4;
-             }
-           else if (z <= 8)
-             {
-               memcpy (argp, *p_argv, z);
-               z = 8;
-             }
-           else
-             {
-               unsigned int uiLocOnStack;
-               z = sizeof (void *);
-               uiLocOnStack = 4 * ecif->cif->nargs + struct_count;
-               struct_count = struct_count + (*p_arg)->size;
-               *(unsigned int *) argp =
-                 (unsigned int) (UINT32 *) (stack + uiLocOnStack);
-               memcpy ((stack + uiLocOnStack), *p_argv, (*p_arg)->size);
-             }
-           break;
-         }
-       default:
-         z = (*p_arg)->size;
-         if (z < sizeof (int))
-           {
-             switch ((*p_arg)->type)
-               {
-               case FFI_TYPE_SINT8:
-                 *(signed int *) argp = (signed int) *(SINT8 *) (*p_argv);
-                 break;
-
-               case FFI_TYPE_UINT8:
-                 *(unsigned int *) argp =
-                   (unsigned int) *(UINT8 *) (*p_argv);
-                 break;
-
-               case FFI_TYPE_SINT16:
-                 *(signed int *) argp = (signed int) *(SINT16 *) (*p_argv);
-                 break;
-
-               case FFI_TYPE_UINT16:
-                 *(unsigned int *) argp =
-                   (unsigned int) *(UINT16 *) (*p_argv);
-                 break;
-
-               default:
-                 FFI_ASSERT (0);
-               }
-             z = sizeof (int);
-           }
-         else if (z == sizeof (int))
-           *(unsigned int *) argp = (unsigned int) *(UINT32 *) (*p_argv);
-         else
-           memcpy (argp, *p_argv, z);
-         break;
-       }
-      p_argv++;
-      argp += z;
-    }
-
-  return (struct_count);
-}
-
-ffi_status
-ffi_prep_cif (ffi_cif * cif,
-             ffi_abi abi, unsigned int nargs,
-             ffi_type * rtype, ffi_type ** atypes)
-{
-  unsigned bytes = 0;
-  unsigned int i;
-  ffi_type **ptr;
-
-  FFI_ASSERT (cif != NULL);
-  FFI_ASSERT (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI);
-
-  cif->abi = abi;
-  cif->arg_types = atypes;
-  cif->nargs = nargs;
-  cif->rtype = rtype;
-
-  cif->flags = 0;
-
-  if ((cif->rtype->size == 0)
-      && (initialize_aggregate_packed_struct (cif->rtype) != FFI_OK))
-    return FFI_BAD_TYPEDEF;
-
-  FFI_ASSERT_VALID_TYPE (cif->rtype);
-
-  for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-    {
-      if (((*ptr)->size == 0)
-         && (initialize_aggregate_packed_struct ((*ptr)) != FFI_OK))
-       return FFI_BAD_TYPEDEF;
-
-      FFI_ASSERT_VALID_TYPE (*ptr);
-
-      if (((*ptr)->alignment - 1) & bytes)
-       bytes = ALIGN (bytes, (*ptr)->alignment);
-      if ((*ptr)->type == FFI_TYPE_STRUCT)
-       {
-         if ((*ptr)->size > 8)
-           {
-             bytes += (*ptr)->size;
-             bytes += sizeof (void *);
-           }
-         else
-           {
-             if ((*ptr)->size > 4)
-               bytes += 8;
-             else
-               bytes += 4;
-           }
-       }
-      else
-       bytes += STACK_ARG_SIZE ((*ptr)->size);
-    }
-
-  cif->bytes = bytes;
-
-  return ffi_prep_cif_machdep (cif);
-}
-
-ffi_status
-ffi_prep_cif_machdep (ffi_cif * cif)
-{
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_VOID:
-    case FFI_TYPE_STRUCT:
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_UINT64:
-      cif->flags = (unsigned) cif->rtype->type;
-      break;
-
-    default:
-      cif->flags = FFI_TYPE_INT;
-      break;
-    }
-
-  return FFI_OK;
-}
-
-extern void ffi_call_SYSV (int (*)(char *, extended_cif *),
-                          extended_cif *,
-                          unsigned, unsigned, unsigned *, void (*fn) ())
-     __attribute__ ((__visibility__ ("hidden")));
-
-void
-ffi_call (ffi_cif * cif, void (*fn) (), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  if ((rvalue == NULL) && (cif->rtype->type == FFI_TYPE_STRUCT))
-    {
-      ecif.rvalue = alloca (cif->rtype->size);
-    }
-  else
-    ecif.rvalue = rvalue;
-
-  switch (cif->abi)
-    {
-    case FFI_SYSV:
-      ffi_call_SYSV (ffi_prep_args, &ecif, cif->bytes,
-                    cif->flags, ecif.rvalue, fn);
-      break;
-    default:
-      FFI_ASSERT (0);
-      break;
-    }
-}
-
-/* Because the following variables are not exported outside libffi, we
-   mark them hidden.  */
-
-/* Assembly code for the jump stub.  */
-extern const char ffi_cris_trampoline_template[]
- __attribute__ ((__visibility__ ("hidden")));
-
-/* Offset into ffi_cris_trampoline_template of where to put the
-   ffi_prep_closure_inner function.  */
-extern const int ffi_cris_trampoline_fn_offset
- __attribute__ ((__visibility__ ("hidden")));
-
-/* Offset into ffi_cris_trampoline_template of where to put the
-   closure data.  */
-extern const int ffi_cris_trampoline_closure_offset
- __attribute__ ((__visibility__ ("hidden")));
-
-/* This function is sibling-called (jumped to) by the closure
-   trampoline.  We get R10..R13 at PARAMS[0..3] and a copy of [SP] at
-   PARAMS[4] to simplify handling of a straddling parameter.  A copy
-   of R9 is at PARAMS[5] and SP at PARAMS[6].  These parameters are
-   put at the appropriate place in CLOSURE which is then executed and
-   the return value is passed back to the caller.  */
-
-static unsigned long long
-ffi_prep_closure_inner (void **params, ffi_closure* closure)
-{
-  char *register_args = (char *) params;
-  void *struct_ret = params[5];
-  char *stack_args = params[6];
-  char *ptr = register_args;
-  ffi_cif *cif = closure->cif;
-  ffi_type **arg_types = cif->arg_types;
-
-  /* Max room needed is number of arguments as 64-bit values.  */
-  void **avalue = alloca (closure->cif->nargs * sizeof(void *));
-  int i;
-  int doing_regs;
-  long long llret = 0;
-
-  /* Find the address of each argument.  */
-  for (i = 0, doing_regs = 1; i < cif->nargs; i++)
-    {
-      /* Types up to and including 8 bytes go by-value.  */
-      if (arg_types[i]->size <= 4)
-       {
-         avalue[i] = ptr;
-         ptr += 4;
-       }
-      else if (arg_types[i]->size <= 8)
-       {
-         avalue[i] = ptr;
-         ptr += 8;
-       }
-      else
-       {
-         FFI_ASSERT (arg_types[i]->type == FFI_TYPE_STRUCT);
-
-         /* Passed by-reference, so copy the pointer.  */
-         avalue[i] = *(void **) ptr;
-         ptr += 4;
-       }
-
-      /* If we've handled more arguments than fit in registers, start
-        looking at the those passed on the stack.  Step over the
-        first one if we had a straddling parameter.  */
-      if (doing_regs && ptr >= register_args + 4*4)
-       {
-         ptr = stack_args + ((ptr > register_args + 4*4) ? 4 : 0);
-         doing_regs = 0;
-       }
-    }
-
-  /* Invoke the closure.  */
-  (closure->fun) (cif,
-
-                 cif->rtype->type == FFI_TYPE_STRUCT
-                 /* The caller allocated space for the return
-                    structure, and passed a pointer to this space in
-                    R9.  */
-                 ? struct_ret
-
-                 /* We take advantage of being able to ignore that
-                    the high part isn't set if the return value is
-                    not in R10:R11, but in R10 only.  */
-                 : (void *) &llret,
-
-                 avalue, closure->user_data);
-
-  return llret;
-}
-
-/* API function: Prepare the trampoline.  */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif *, void *, void **, void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  void *innerfn = ffi_prep_closure_inner;
-  FFI_ASSERT (cif->abi == FFI_SYSV);
-  closure->cif  = cif;
-  closure->user_data = user_data;
-  closure->fun  = fun;
-  memcpy (closure->tramp, ffi_cris_trampoline_template,
-         FFI_CRIS_TRAMPOLINE_CODE_PART_SIZE);
-  memcpy (closure->tramp + ffi_cris_trampoline_fn_offset,
-         &innerfn, sizeof (void *));
-  memcpy (closure->tramp + ffi_cris_trampoline_closure_offset,
-         &codeloc, sizeof (void *));
-
-  return FFI_OK;
-}
diff --git a/.pc/variadic/src/prep_cif.c b/.pc/variadic/src/prep_cif.c
deleted file mode 100644 (file)
index bf3f030..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-/* -----------------------------------------------------------------------
-   prep_cif.c - Copyright (c) 2011, 2012  Anthony Green
-                Copyright (c) 1996, 1998, 2007  Red Hat, Inc.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-/* Round up to FFI_SIZEOF_ARG. */
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-/* Perform machine independent initialization of aggregate type
-   specifications. */
-
-static ffi_status initialize_aggregate(ffi_type *arg)
-{
-  ffi_type **ptr;
-
-  if (UNLIKELY(arg == NULL || arg->elements == NULL))
-    return FFI_BAD_TYPEDEF;
-
-  arg->size = 0;
-  arg->alignment = 0;
-
-  ptr = &(arg->elements[0]);
-
-  if (UNLIKELY(ptr == 0))
-    return FFI_BAD_TYPEDEF;
-
-  while ((*ptr) != NULL)
-    {
-      if (UNLIKELY(((*ptr)->size == 0)
-                   && (initialize_aggregate((*ptr)) != FFI_OK)))
-       return FFI_BAD_TYPEDEF;
-
-      /* Perform a sanity check on the argument type */
-      FFI_ASSERT_VALID_TYPE(*ptr);
-
-      arg->size = ALIGN(arg->size, (*ptr)->alignment);
-      arg->size += (*ptr)->size;
-
-      arg->alignment = (arg->alignment > (*ptr)->alignment) ?
-       arg->alignment : (*ptr)->alignment;
-
-      ptr++;
-    }
-
-  /* Structure size includes tail padding.  This is important for
-     structures that fit in one register on ABIs like the PowerPC64
-     Linux ABI that right justify small structs in a register.
-     It's also needed for nested structure layout, for example
-     struct A { long a; char b; }; struct B { struct A x; char y; };
-     should find y at an offset of 2*sizeof(long) and result in a
-     total size of 3*sizeof(long).  */
-  arg->size = ALIGN (arg->size, arg->alignment);
-
-  if (arg->size == 0)
-    return FFI_BAD_TYPEDEF;
-  else
-    return FFI_OK;
-}
-
-#ifndef __CRIS__
-/* The CRIS ABI specifies structure elements to have byte
-   alignment only, so it completely overrides this functions,
-   which assumes "natural" alignment and padding.  */
-
-/* Perform machine independent ffi_cif preparation, then call
-   machine dependent routine. */
-
-ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
-                       ffi_type *rtype, ffi_type **atypes)
-{
-  unsigned bytes = 0;
-  unsigned int i;
-  ffi_type **ptr;
-
-  FFI_ASSERT(cif != NULL);
-#ifndef X86_WIN32
-  if (! (abi > FFI_FIRST_ABI) && (abi <= FFI_LAST_ABI))
-    return FFI_BAD_ABI;
-#else
-  if (! (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI || abi == FFI_THISCALL))
-    return FFI_BAD_ABI;
-#endif
-
-  cif->abi = abi;
-  cif->arg_types = atypes;
-  cif->nargs = nargs;
-  cif->rtype = rtype;
-
-  cif->flags = 0;
-
-  /* Initialize the return type if necessary */
-  if ((cif->rtype->size == 0) && (initialize_aggregate(cif->rtype) != FFI_OK))
-    return FFI_BAD_TYPEDEF;
-
-  /* Perform a sanity check on the return type */
-  FFI_ASSERT_VALID_TYPE(cif->rtype);
-
-  /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */
-#if !defined M68K && !defined X86_ANY && !defined S390 && !defined PA
-  /* Make space for the return structure pointer */
-  if (cif->rtype->type == FFI_TYPE_STRUCT
-#ifdef SPARC
-      && (cif->abi != FFI_V9 || cif->rtype->size > 32)
-#endif
-     )
-    bytes = STACK_ARG_SIZE(sizeof(void*));
-#endif
-
-  for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-    {
-
-      /* Initialize any uninitialized aggregate type definitions */
-      if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
-       return FFI_BAD_TYPEDEF;
-
-      /* Perform a sanity check on the argument type, do this
-        check after the initialization.  */
-      FFI_ASSERT_VALID_TYPE(*ptr);
-
-#if !defined X86_ANY && !defined S390 && !defined PA
-#ifdef SPARC
-      if (((*ptr)->type == FFI_TYPE_STRUCT
-          && ((*ptr)->size > 16 || cif->abi != FFI_V9))
-         || ((*ptr)->type == FFI_TYPE_LONGDOUBLE
-             && cif->abi != FFI_V9))
-       bytes += sizeof(void*);
-      else
-#endif
-       {
-         /* Add any padding if necessary */
-         if (((*ptr)->alignment - 1) & bytes)
-           bytes = ALIGN(bytes, (*ptr)->alignment);
-
-         bytes += STACK_ARG_SIZE((*ptr)->size);
-       }
-#endif
-    }
-
-  cif->bytes = bytes;
-
-  /* Perform machine dependent cif processing */
-  return ffi_prep_cif_machdep(cif);
-}
-#endif /* not __CRIS__ */
-
-#if FFI_CLOSURES
-
-ffi_status
-ffi_prep_closure (ffi_closure* closure,
-                 ffi_cif* cif,
-                 void (*fun)(ffi_cif*,void*,void**,void*),
-                 void *user_data)
-{
-  return ffi_prep_closure_loc (closure, cif, fun, user_data, closure);
-}
-
-#endif
diff --git a/.pc/variadic/testsuite/libffi.call/cls_double_va.c b/.pc/variadic/testsuite/libffi.call/cls_double_va.c
deleted file mode 100644 (file)
index e769caf..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Area:               ffi_call, closure_call
-   Purpose:            Test doubles passed in variable argument lists.
-   Limitations:        none.
-   PR:                 none.
-   Originator: Blake Chaffin 6/6/2007   */
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-/* { dg-output "" { xfail avr32*-*-* } } */
-/* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */
-/* { dg-skip-if "" arm*-*-* { "-mfloat-abi=hard" } { "" } } */
-
-#include "ffitest.h"
-
-static void
-cls_double_va_fn(ffi_cif* cif __UNUSED__, void* resp, 
-                void** args, void* userdata __UNUSED__)
-{
-       char*   format          = *(char**)args[0];
-       double  doubleValue     = *(double*)args[1];
-
-       *(ffi_arg*)resp = printf(format, doubleValue);
-}
-
-int main (void)
-{
-       ffi_cif cif;
-        void *code;
-       ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
-       void* args[3];
-       ffi_type* arg_types[3];
-
-       char*   format          = "%.1f\n";
-       double  doubleArg       = 7;
-       ffi_arg res                     = 0;
-
-       arg_types[0] = &ffi_type_pointer;
-       arg_types[1] = &ffi_type_double;
-       arg_types[2] = NULL;
-
-       CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &ffi_type_sint,
-               arg_types) == FFI_OK);
-
-       args[0] = &format;
-       args[1] = &doubleArg;
-       args[2] = NULL;
-
-       ffi_call(&cif, FFI_FN(printf), &res, args);
-       // { dg-output "7.0" }
-       printf("res: %d\n", (int) res);
-       // { dg-output "\nres: 4" }
-
-       CHECK(ffi_prep_closure_loc(pcl, &cif, cls_double_va_fn, NULL, code) == FFI_OK);
-
-       res     = ((int(*)(char*, double))(code))(format, doubleArg);
-       // { dg-output "\n7.0" }
-       printf("res: %d\n", (int) res);
-       // { dg-output "\nres: 4" }
-
-       exit(0);
-}
diff --git a/.pc/variadic/testsuite/libffi.call/cls_longdouble_va.c b/.pc/variadic/testsuite/libffi.call/cls_longdouble_va.c
deleted file mode 100644 (file)
index 07780ed..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Area:               ffi_call, closure_call
-   Purpose:            Test long doubles passed in variable argument lists.
-   Limitations:        none.
-   PR:                 none.
-   Originator: Blake Chaffin 6/6/2007   */
-
-/* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
-/* { dg-output "" { xfail avr32*-*-* x86_64-*-mingw* } } */
-/* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */
-/* { dg-skip-if "" arm*-*-* { "-mfloat-abi=hard" } { "" } } */
-
-#include "ffitest.h"
-
-static void
-cls_longdouble_va_fn(ffi_cif* cif __UNUSED__, void* resp, 
-                    void** args, void* userdata __UNUSED__)
-{
-       char*           format  = *(char**)args[0];
-       long double     ldValue = *(long double*)args[1];
-
-       *(ffi_arg*)resp = printf(format, ldValue);
-}
-
-int main (void)
-{
-       ffi_cif cif;
-        void *code;
-       ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
-       void* args[3];
-       ffi_type* arg_types[3];
-
-       char*           format  = "%.1Lf\n";
-       long double     ldArg   = 7;
-       ffi_arg         res             = 0;
-
-       arg_types[0] = &ffi_type_pointer;
-       arg_types[1] = &ffi_type_longdouble;
-       arg_types[2] = NULL;
-
-       CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &ffi_type_sint,
-               arg_types) == FFI_OK);
-
-       args[0] = &format;
-       args[1] = &ldArg;
-       args[2] = NULL;
-
-       ffi_call(&cif, FFI_FN(printf), &res, args);
-       // { dg-output "7.0" }
-       printf("res: %d\n", (int) res);
-       // { dg-output "\nres: 4" }
-
-       CHECK(ffi_prep_closure_loc(pcl, &cif, cls_longdouble_va_fn, NULL, code) == FFI_OK);
-
-       res     = ((int(*)(char*, long double))(code))(format, ldArg);
-       // { dg-output "\n7.0" }
-       printf("res: %d\n", (int) res);
-       // { dg-output "\nres: 4" }
-
-       exit(0);
-}
diff --git a/.pc/variadic/testsuite/libffi.call/float_va.c b/.pc/variadic/testsuite/libffi.call/float_va.c
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/win64-struct-args/.timestamp b/.pc/win64-struct-args/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/win64-struct-args/ChangeLog b/.pc/win64-struct-args/ChangeLog
deleted file mode 100644 (file)
index 30cdc30..0000000
+++ /dev/null
@@ -1,4517 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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-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-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-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-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/win64-struct-args/doc/libffi.info b/.pc/win64-struct-args/doc/libffi.info
deleted file mode 100644 (file)
index f92aae6..0000000
+++ /dev/null
@@ -1,591 +0,0 @@
-This is /home/green/libffi/doc/libffi.info, produced by makeinfo
-version 4.13 from /home/green/libffi/doc/libffi.texi.
-
-This manual is for Libffi, a portable foreign-function interface
-library.
-
-   Copyright (C) 2008, 2010 Red Hat, Inc.
-
-     Permission is granted to copy, distribute and/or modify this
-     document under the terms of the GNU General Public License as
-     published by the Free Software Foundation; either version 2, or
-     (at your option) any later version.  A copy of the license is
-     included in the section entitled "GNU General Public License".
-
-
-INFO-DIR-SECTION Development
-START-INFO-DIR-ENTRY
-* libffi: (libffi).             Portable foreign-function interface library.
-END-INFO-DIR-ENTRY
-
-\1f
-File: libffi.info,  Node: Top,  Next: Introduction,  Up: (dir)
-
-libffi
-******
-
-This manual is for Libffi, a portable foreign-function interface
-library.
-
-   Copyright (C) 2008, 2010 Red Hat, Inc.
-
-     Permission is granted to copy, distribute and/or modify this
-     document under the terms of the GNU General Public License as
-     published by the Free Software Foundation; either version 2, or
-     (at your option) any later version.  A copy of the license is
-     included in the section entitled "GNU General Public License".
-
-
-* Menu:
-
-* Introduction::                What is libffi?
-* Using libffi::                How to use libffi.
-* Missing Features::            Things libffi can't do.
-* Index::                       Index.
-
-\1f
-File: libffi.info,  Node: Introduction,  Next: Using libffi,  Prev: Top,  Up: Top
-
-1 What is libffi?
-*****************
-
-Compilers for high level languages generate code that follow certain
-conventions.  These conventions are necessary, in part, for separate
-compilation to work.  One such convention is the "calling convention".
-The calling convention is a set of assumptions made by the compiler
-about where function arguments will be found on entry to a function.  A
-calling convention also specifies where the return value for a function
-is found.  The calling convention is also sometimes called the "ABI" or
-"Application Binary Interface".  
-
-   Some programs may not know at the time of compilation what arguments
-are to be passed to a function.  For instance, an interpreter may be
-told at run-time about the number and types of arguments used to call a
-given function.  `Libffi' can be used in such programs to provide a
-bridge from the interpreter program to compiled code.
-
-   The `libffi' library provides a portable, high level programming
-interface to various calling conventions.  This allows a programmer to
-call any function specified by a call interface description at run time.
-
-   FFI stands for Foreign Function Interface.  A foreign function
-interface is the popular name for the interface that allows code
-written in one language to call code written in another language.  The
-`libffi' library really only provides the lowest, machine dependent
-layer of a fully featured foreign function interface.  A layer must
-exist above `libffi' that handles type conversions for values passed
-between the two languages.  
-
-\1f
-File: libffi.info,  Node: Using libffi,  Next: Missing Features,  Prev: Introduction,  Up: Top
-
-2 Using libffi
-**************
-
-* Menu:
-
-* The Basics::                  The basic libffi API.
-* Simple Example::              A simple example.
-* Types::                       libffi type descriptions.
-* Multiple ABIs::               Different passing styles on one platform.
-* The Closure API::             Writing a generic function.
-* Closure Example::             A closure example.
-
-\1f
-File: libffi.info,  Node: The Basics,  Next: Simple Example,  Up: Using libffi
-
-2.1 The Basics
-==============
-
-`Libffi' assumes that you have a pointer to the function you wish to
-call and that you know the number and types of arguments to pass it, as
-well as the return type of the function.
-
-   The first thing you must do is create an `ffi_cif' object that
-matches the signature of the function you wish to call.  This is a
-separate step because it is common to make multiple calls using a
-single `ffi_cif'.  The "cif" in `ffi_cif' stands for Call InterFace.
-To prepare a call interface object, use the function `ffi_prep_cif'.  
-
- -- Function: ffi_status ffi_prep_cif (ffi_cif *CIF, ffi_abi ABI,
-          unsigned int NARGS, ffi_type *RTYPE, ffi_type **ARGTYPES)
-     This initializes CIF according to the given parameters.
-
-     ABI is the ABI to use; normally `FFI_DEFAULT_ABI' is what you
-     want.  *note Multiple ABIs:: for more information.
-
-     NARGS is the number of arguments that this function accepts.
-     `libffi' does not yet handle varargs functions; see *note Missing
-     Features:: for more information.
-
-     RTYPE is a pointer to an `ffi_type' structure that describes the
-     return type of the function.  *Note Types::.
-
-     ARGTYPES is a vector of `ffi_type' pointers.  ARGTYPES must have
-     NARGS elements.  If NARGS is 0, this argument is ignored.
-
-     `ffi_prep_cif' returns a `libffi' status code, of type
-     `ffi_status'.  This will be either `FFI_OK' if everything worked
-     properly; `FFI_BAD_TYPEDEF' if one of the `ffi_type' objects is
-     incorrect; or `FFI_BAD_ABI' if the ABI parameter is invalid.
-
-   To call a function using an initialized `ffi_cif', use the
-`ffi_call' function:
-
- -- Function: void ffi_call (ffi_cif *CIF, void *FN, void *RVALUE, void
-          **AVALUES)
-     This calls the function FN according to the description given in
-     CIF.  CIF must have already been prepared using `ffi_prep_cif'.
-
-     RVALUE is a pointer to a chunk of memory that will hold the result
-     of the function call.  This must be large enough to hold the
-     result and must be suitably aligned; it is the caller's
-     responsibility to ensure this.  If CIF declares that the function
-     returns `void' (using `ffi_type_void'), then RVALUE is ignored.
-     If RVALUE is `NULL', then the return value is discarded.
-
-     AVALUES is a vector of `void *' pointers that point to the memory
-     locations holding the argument values for a call.  If CIF declares
-     that the function has no arguments (i.e., NARGS was 0), then
-     AVALUES is ignored.
-
-\1f
-File: libffi.info,  Node: Simple Example,  Next: Types,  Prev: The Basics,  Up: Using libffi
-
-2.2 Simple Example
-==================
-
-Here is a trivial example that calls `puts' a few times.
-
-     #include <stdio.h>
-     #include <ffi.h>
-
-     int main()
-     {
-       ffi_cif cif;
-       ffi_type *args[1];
-       void *values[1];
-       char *s;
-       int rc;
-
-       /* Initialize the argument info vectors */
-       args[0] = &ffi_type_pointer;
-       values[0] = &s;
-
-       /* Initialize the cif */
-       if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
-                      &ffi_type_uint, args) == FFI_OK)
-         {
-           s = "Hello World!";
-           ffi_call(&cif, puts, &rc, values);
-           /* rc now holds the result of the call to puts */
-
-           /* values holds a pointer to the function's arg, so to
-              call puts() again all we need to do is change the
-              value of s */
-           s = "This is cool!";
-           ffi_call(&cif, puts, &rc, values);
-         }
-
-       return 0;
-     }
-
-\1f
-File: libffi.info,  Node: Types,  Next: Multiple ABIs,  Prev: Simple Example,  Up: Using libffi
-
-2.3 Types
-=========
-
-* Menu:
-
-* Primitive Types::             Built-in types.
-* Structures::                  Structure types.
-* Type Example::                Structure type example.
-
-\1f
-File: libffi.info,  Node: Primitive Types,  Next: Structures,  Up: Types
-
-2.3.1 Primitive Types
----------------------
-
-`Libffi' provides a number of built-in type descriptors that can be
-used to describe argument and return types:
-
-`ffi_type_void'
-     The type `void'.  This cannot be used for argument types, only for
-     return values.
-
-`ffi_type_uint8'
-     An unsigned, 8-bit integer type.
-
-`ffi_type_sint8'
-     A signed, 8-bit integer type.
-
-`ffi_type_uint16'
-     An unsigned, 16-bit integer type.
-
-`ffi_type_sint16'
-     A signed, 16-bit integer type.
-
-`ffi_type_uint32'
-     An unsigned, 32-bit integer type.
-
-`ffi_type_sint32'
-     A signed, 32-bit integer type.
-
-`ffi_type_uint64'
-     An unsigned, 64-bit integer type.
-
-`ffi_type_sint64'
-     A signed, 64-bit integer type.
-
-`ffi_type_float'
-     The C `float' type.
-
-`ffi_type_double'
-     The C `double' type.
-
-`ffi_type_uchar'
-     The C `unsigned char' type.
-
-`ffi_type_schar'
-     The C `signed char' type.  (Note that there is not an exact
-     equivalent to the C `char' type in `libffi'; ordinarily you should
-     either use `ffi_type_schar' or `ffi_type_uchar' depending on
-     whether `char' is signed.)
-
-`ffi_type_ushort'
-     The C `unsigned short' type.
-
-`ffi_type_sshort'
-     The C `short' type.
-
-`ffi_type_uint'
-     The C `unsigned int' type.
-
-`ffi_type_sint'
-     The C `int' type.
-
-`ffi_type_ulong'
-     The C `unsigned long' type.
-
-`ffi_type_slong'
-     The C `long' type.
-
-`ffi_type_longdouble'
-     On platforms that have a C `long double' type, this is defined.
-     On other platforms, it is not.
-
-`ffi_type_pointer'
-     A generic `void *' pointer.  You should use this for all pointers,
-     regardless of their real type.
-
-   Each of these is of type `ffi_type', so you must take the address
-when passing to `ffi_prep_cif'.
-
-\1f
-File: libffi.info,  Node: Structures,  Next: Type Example,  Prev: Primitive Types,  Up: Types
-
-2.3.2 Structures
-----------------
-
-Although `libffi' has no special support for unions or bit-fields, it
-is perfectly happy passing structures back and forth.  You must first
-describe the structure to `libffi' by creating a new `ffi_type' object
-for it.
-
- -- ffi_type:
-     The `ffi_type' has the following members:
-    `size_t size'
-          This is set by `libffi'; you should initialize it to zero.
-
-    `unsigned short alignment'
-          This is set by `libffi'; you should initialize it to zero.
-
-    `unsigned short type'
-          For a structure, this should be set to `FFI_TYPE_STRUCT'.
-
-    `ffi_type **elements'
-          This is a `NULL'-terminated array of pointers to `ffi_type'
-          objects.  There is one element per field of the struct.
-
-\1f
-File: libffi.info,  Node: Type Example,  Prev: Structures,  Up: Types
-
-2.3.3 Type Example
-------------------
-
-The following example initializes a `ffi_type' object representing the
-`tm' struct from Linux's `time.h'.
-
-   Here is how the struct is defined:
-
-     struct tm {
-         int tm_sec;
-         int tm_min;
-         int tm_hour;
-         int tm_mday;
-         int tm_mon;
-         int tm_year;
-         int tm_wday;
-         int tm_yday;
-         int tm_isdst;
-         /* Those are for future use. */
-         long int __tm_gmtoff__;
-         __const char *__tm_zone__;
-     };
-
-   Here is the corresponding code to describe this struct to `libffi':
-
-         {
-           ffi_type tm_type;
-           ffi_type *tm_type_elements[12];
-           int i;
-
-           tm_type.size = tm_type.alignment = 0;
-           tm_type.elements = &tm_type_elements;
-
-           for (i = 0; i < 9; i++)
-               tm_type_elements[i] = &ffi_type_sint;
-
-           tm_type_elements[9] = &ffi_type_slong;
-           tm_type_elements[10] = &ffi_type_pointer;
-           tm_type_elements[11] = NULL;
-
-           /* tm_type can now be used to represent tm argument types and
-        return types for ffi_prep_cif() */
-         }
-
-\1f
-File: libffi.info,  Node: Multiple ABIs,  Next: The Closure API,  Prev: Types,  Up: Using libffi
-
-2.4 Multiple ABIs
-=================
-
-A given platform may provide multiple different ABIs at once.  For
-instance, the x86 platform has both `stdcall' and `fastcall' functions.
-
-   `libffi' provides some support for this.  However, this is
-necessarily platform-specific.
-
-\1f
-File: libffi.info,  Node: The Closure API,  Next: Closure Example,  Prev: Multiple ABIs,  Up: Using libffi
-
-2.5 The Closure API
-===================
-
-`libffi' also provides a way to write a generic function - a function
-that can accept and decode any combination of arguments.  This can be
-useful when writing an interpreter, or to provide wrappers for
-arbitrary functions.
-
-   This facility is called the "closure API".  Closures are not
-supported on all platforms; you can check the `FFI_CLOSURES' define to
-determine whether they are supported on the current platform.  
-
-   Because closures work by assembling a tiny function at runtime, they
-require special allocation on platforms that have a non-executable
-heap.  Memory management for closures is handled by a pair of functions:
-
- -- Function: void *ffi_closure_alloc (size_t SIZE, void **CODE)
-     Allocate a chunk of memory holding SIZE bytes.  This returns a
-     pointer to the writable address, and sets *CODE to the
-     corresponding executable address.
-
-     SIZE should be sufficient to hold a `ffi_closure' object.
-
- -- Function: void ffi_closure_free (void *WRITABLE)
-     Free memory allocated using `ffi_closure_alloc'.  The argument is
-     the writable address that was returned.
-
-   Once you have allocated the memory for a closure, you must construct
-a `ffi_cif' describing the function call.  Finally you can prepare the
-closure function:
-
- -- Function: ffi_status ffi_prep_closure_loc (ffi_closure *CLOSURE,
-          ffi_cif *CIF, void (*FUN) (ffi_cif *CIF, void *RET, void
-          **ARGS, void *USER_DATA), void *USER_DATA, void *CODELOC)
-     Prepare a closure function.
-
-     CLOSURE is the address of a `ffi_closure' object; this is the
-     writable address returned by `ffi_closure_alloc'.
-
-     CIF is the `ffi_cif' describing the function parameters.
-
-     USER_DATA is an arbitrary datum that is passed, uninterpreted, to
-     your closure function.
-
-     CODELOC is the executable address returned by `ffi_closure_alloc'.
-
-     FUN is the function which will be called when the closure is
-     invoked.  It is called with the arguments:
-    CIF
-          The `ffi_cif' passed to `ffi_prep_closure_loc'.
-
-    RET
-          A pointer to the memory used for the function's return value.
-          FUN must fill this, unless the function is declared as
-          returning `void'.
-
-    ARGS
-          A vector of pointers to memory holding the arguments to the
-          function.
-
-    USER_DATA
-          The same USER_DATA that was passed to `ffi_prep_closure_loc'.
-
-     `ffi_prep_closure_loc' will return `FFI_OK' if everything went ok,
-     and something else on error.
-
-     After calling `ffi_prep_closure_loc', you can cast CODELOC to the
-     appropriate pointer-to-function type.
-
-   You may see old code referring to `ffi_prep_closure'.  This function
-is deprecated, as it cannot handle the need for separate writable and
-executable addresses.
-
-\1f
-File: libffi.info,  Node: Closure Example,  Prev: The Closure API,  Up: Using libffi
-
-2.6 Closure Example
-===================
-
-A trivial example that creates a new `puts' by binding `fputs' with
-`stdin'.
-
-     #include <stdio.h>
-     #include <ffi.h>
-
-     /* Acts like puts with the file given at time of enclosure. */
-     void puts_binding(ffi_cif *cif, unsigned int *ret, void* args[],
-                       FILE *stream)
-     {
-       *ret = fputs(*(char **)args[0], stream);
-     }
-
-     int main()
-     {
-       ffi_cif cif;
-       ffi_type *args[1];
-       ffi_closure *closure;
-
-       int (*bound_puts)(char *);
-       int rc;
-
-       /* Allocate closure and bound_puts */
-       closure = ffi_closure_alloc(sizeof(ffi_closure), &bound_puts);
-
-       if (closure)
-         {
-           /* Initialize the argument info vectors */
-           args[0] = &ffi_type_pointer;
-
-           /* Initialize the cif */
-           if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
-                            &ffi_type_uint, args) == FFI_OK)
-             {
-               /* Initialize the closure, setting stream to stdout */
-               if (ffi_prep_closure_loc(closure, &cif, puts_binding,
-                                        stdout, bound_puts) == FFI_OK)
-                 {
-                   rc = bound_puts("Hello World!");
-                   /* rc now holds the result of the call to fputs */
-                 }
-             }
-         }
-
-       /* Deallocate both closure, and bound_puts */
-       ffi_closure_free(closure);
-
-       return 0;
-     }
-
-\1f
-File: libffi.info,  Node: Missing Features,  Next: Index,  Prev: Using libffi,  Up: Top
-
-3 Missing Features
-******************
-
-`libffi' is missing a few features.  We welcome patches to add support
-for these.
-
-   * There is no support for calling varargs functions.  This may work
-     on some platforms, depending on how the ABI is defined, but it is
-     not reliable.
-
-   * There is no support for bit fields in structures.
-
-   * The closure API is
-
-   * The "raw" API is undocumented.
-
-\1f
-File: libffi.info,  Node: Index,  Prev: Missing Features,  Up: Top
-
-Index
-*****
-
-\0\b[index\0\b]
-* Menu:
-
-* :                                      Structures.           (line 12)
-* ABI:                                   Introduction.         (line 13)
-* Application Binary Interface:          Introduction.         (line 13)
-* calling convention:                    Introduction.         (line 13)
-* cif:                                   The Basics.           (line 14)
-* closure API:                           The Closure API.      (line 13)
-* closures:                              The Closure API.      (line 13)
-* FFI:                                   Introduction.         (line 31)
-* ffi_call:                              The Basics.           (line 41)
-* ffi_closure_alloc:                     The Closure API.      (line 19)
-* ffi_closure_free:                      The Closure API.      (line 26)
-* FFI_CLOSURES:                          The Closure API.      (line 13)
-* ffi_prep_cif:                          The Basics.           (line 16)
-* ffi_prep_closure_loc:                  The Closure API.      (line 34)
-* ffi_status <1>:                        The Closure API.      (line 37)
-* ffi_status:                            The Basics.           (line 18)
-* ffi_type:                              Structures.           (line 11)
-* ffi_type_double:                       Primitive Types.      (line 41)
-* ffi_type_float:                        Primitive Types.      (line 38)
-* ffi_type_longdouble:                   Primitive Types.      (line 71)
-* ffi_type_pointer:                      Primitive Types.      (line 75)
-* ffi_type_schar:                        Primitive Types.      (line 47)
-* ffi_type_sint:                         Primitive Types.      (line 62)
-* ffi_type_sint16:                       Primitive Types.      (line 23)
-* ffi_type_sint32:                       Primitive Types.      (line 29)
-* ffi_type_sint64:                       Primitive Types.      (line 35)
-* ffi_type_sint8:                        Primitive Types.      (line 17)
-* ffi_type_slong:                        Primitive Types.      (line 68)
-* ffi_type_sshort:                       Primitive Types.      (line 56)
-* ffi_type_uchar:                        Primitive Types.      (line 44)
-* ffi_type_uint:                         Primitive Types.      (line 59)
-* ffi_type_uint16:                       Primitive Types.      (line 20)
-* ffi_type_uint32:                       Primitive Types.      (line 26)
-* ffi_type_uint64:                       Primitive Types.      (line 32)
-* ffi_type_uint8:                        Primitive Types.      (line 14)
-* ffi_type_ulong:                        Primitive Types.      (line 65)
-* ffi_type_ushort:                       Primitive Types.      (line 53)
-* ffi_type_void:                         Primitive Types.      (line 10)
-* Foreign Function Interface:            Introduction.         (line 31)
-* void <1>:                              The Closure API.      (line 20)
-* void:                                  The Basics.           (line 43)
-
-
-\1f
-Tag Table:
-Node: Top\7f724
-Node: Introduction\7f1466
-Node: Using libffi\7f3102
-Node: The Basics\7f3588
-Node: Simple Example\7f6195
-Node: Types\7f7222
-Node: Primitive Types\7f7505
-Node: Structures\7f9325
-Node: Type Example\7f10185
-Node: Multiple ABIs\7f11408
-Node: The Closure API\7f11779
-Node: Closure Example\7f14723
-Node: Missing Features\7f16282
-Node: Index\7f16775
-\1f
-End Tag Table
diff --git a/.pc/win64-struct-args/doc/libffi.texi b/.pc/win64-struct-args/doc/libffi.texi
deleted file mode 100644 (file)
index cbd78aa..0000000
+++ /dev/null
@@ -1,598 +0,0 @@
-\input texinfo   @c -*-texinfo-*-
-@c %**start of header
-@setfilename libffi.info
-@settitle libffi
-@setchapternewpage off
-@c %**end of header
-
-@c Merge the standard indexes into a single one.
-@syncodeindex fn cp
-@syncodeindex vr cp
-@syncodeindex ky cp
-@syncodeindex pg cp
-@syncodeindex tp cp
-
-@include version.texi
-
-@copying
-
-This manual is for Libffi, a portable foreign-function interface
-library.
-
-Copyright @copyright{} 2008, 2010 Red Hat, Inc.
-
-@quotation
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.  A copy of the license is included in the
-section entitled ``GNU General Public License''.
-
-@end quotation
-@end copying
-
-@dircategory Development
-@direntry
-* libffi: (libffi).             Portable foreign-function interface library.
-@end direntry
-
-@titlepage
-@title Libffi
-@page
-@vskip 0pt plus 1filll
-@insertcopying
-@end titlepage
-
-
-@ifnottex
-@node Top
-@top libffi
-
-@insertcopying
-
-@menu
-* Introduction::                What is libffi?
-* Using libffi::                How to use libffi.
-* Missing Features::            Things libffi can't do.
-* Index::                       Index.
-@end menu
-
-@end ifnottex
-
-
-@node Introduction
-@chapter What is libffi?
-
-Compilers for high level languages generate code that follow certain
-conventions.  These conventions are necessary, in part, for separate
-compilation to work.  One such convention is the @dfn{calling
-convention}.  The calling convention is a set of assumptions made by
-the compiler about where function arguments will be found on entry to
-a function.  A calling convention also specifies where the return
-value for a function is found.  The calling convention is also
-sometimes called the @dfn{ABI} or @dfn{Application Binary Interface}.
-@cindex calling convention
-@cindex ABI
-@cindex Application Binary Interface
-
-Some programs may not know at the time of compilation what arguments
-are to be passed to a function.  For instance, an interpreter may be
-told at run-time about the number and types of arguments used to call
-a given function.  @samp{Libffi} can be used in such programs to
-provide a bridge from the interpreter program to compiled code.
-
-The @samp{libffi} library provides a portable, high level programming
-interface to various calling conventions.  This allows a programmer to
-call any function specified by a call interface description at run
-time.
-
-@acronym{FFI} stands for Foreign Function Interface.  A foreign
-function interface is the popular name for the interface that allows
-code written in one language to call code written in another language.
-The @samp{libffi} library really only provides the lowest, machine
-dependent layer of a fully featured foreign function interface.  A
-layer must exist above @samp{libffi} that handles type conversions for
-values passed between the two languages.
-@cindex FFI
-@cindex Foreign Function Interface
-
-
-@node Using libffi
-@chapter Using libffi
-
-@menu
-* The Basics::                  The basic libffi API.
-* Simple Example::              A simple example.
-* Types::                       libffi type descriptions.
-* Multiple ABIs::               Different passing styles on one platform.
-* The Closure API::             Writing a generic function.
-* Closure Example::             A closure example.
-@end menu
-
-
-@node The Basics
-@section The Basics
-
-@samp{Libffi} assumes that you have a pointer to the function you wish
-to call and that you know the number and types of arguments to pass
-it, as well as the return type of the function.
-
-The first thing you must do is create an @code{ffi_cif} object that
-matches the signature of the function you wish to call.  This is a
-separate step because it is common to make multiple calls using a
-single @code{ffi_cif}.  The @dfn{cif} in @code{ffi_cif} stands for
-Call InterFace.  To prepare a call interface object, use the function
-@code{ffi_prep_cif}.
-@cindex cif
-
-@findex ffi_prep_cif
-@defun ffi_status ffi_prep_cif (ffi_cif *@var{cif}, ffi_abi @var{abi}, unsigned int @var{nargs}, ffi_type *@var{rtype}, ffi_type **@var{argtypes})
-This initializes @var{cif} according to the given parameters.
-
-@var{abi} is the ABI to use; normally @code{FFI_DEFAULT_ABI} is what
-you want.  @ref{Multiple ABIs} for more information.
-
-@var{nargs} is the number of arguments that this function accepts.
-@samp{libffi} does not yet handle varargs functions; see @ref{Missing
-Features} for more information.
-
-@var{rtype} is a pointer to an @code{ffi_type} structure that
-describes the return type of the function.  @xref{Types}.
-
-@var{argtypes} is a vector of @code{ffi_type} pointers.
-@var{argtypes} must have @var{nargs} elements.  If @var{nargs} is 0,
-this argument is ignored.
-
-@code{ffi_prep_cif} returns a @code{libffi} status code, of type
-@code{ffi_status}.  This will be either @code{FFI_OK} if everything
-worked properly; @code{FFI_BAD_TYPEDEF} if one of the @code{ffi_type}
-objects is incorrect; or @code{FFI_BAD_ABI} if the @var{abi} parameter
-is invalid.
-@end defun
-
-
-To call a function using an initialized @code{ffi_cif}, use the
-@code{ffi_call} function:
-
-@findex ffi_call
-@defun void ffi_call (ffi_cif *@var{cif}, void *@var{fn}, void *@var{rvalue}, void **@var{avalues})
-This calls the function @var{fn} according to the description given in
-@var{cif}.  @var{cif} must have already been prepared using
-@code{ffi_prep_cif}.
-
-@var{rvalue} is a pointer to a chunk of memory that will hold the
-result of the function call.  This must be large enough to hold the
-result and must be suitably aligned; it is the caller's responsibility
-to ensure this.  If @var{cif} declares that the function returns
-@code{void} (using @code{ffi_type_void}), then @var{rvalue} is
-ignored.  If @var{rvalue} is @samp{NULL}, then the return value is
-discarded.
-
-@var{avalues} is a vector of @code{void *} pointers that point to the
-memory locations holding the argument values for a call.  If @var{cif}
-declares that the function has no arguments (i.e., @var{nargs} was 0),
-then @var{avalues} is ignored.
-@end defun
-
-
-@node Simple Example
-@section Simple Example
-
-Here is a trivial example that calls @code{puts} a few times.
-
-@example
-#include <stdio.h>
-#include <ffi.h>
-
-int main()
-@{
-  ffi_cif cif;
-  ffi_type *args[1];
-  void *values[1];
-  char *s;
-  int rc;
-  
-  /* Initialize the argument info vectors */    
-  args[0] = &ffi_type_pointer;
-  values[0] = &s;
-  
-  /* Initialize the cif */
-  if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, 
-                      &ffi_type_uint, args) == FFI_OK)
-    @{
-      s = "Hello World!";
-      ffi_call(&cif, puts, &rc, values);
-      /* rc now holds the result of the call to puts */
-      
-      /* values holds a pointer to the function's arg, so to 
-         call puts() again all we need to do is change the 
-         value of s */
-      s = "This is cool!";
-      ffi_call(&cif, puts, &rc, values);
-    @}
-  
-  return 0;
-@}
-@end example
-
-
-@node Types
-@section Types
-
-@menu
-* Primitive Types::             Built-in types.
-* Structures::                  Structure types.
-* Type Example::                Structure type example.
-@end menu
-
-@node Primitive Types
-@subsection Primitive Types
-
-@code{Libffi} provides a number of built-in type descriptors that can
-be used to describe argument and return types:
-
-@table @code
-@item ffi_type_void
-@tindex ffi_type_void
-The type @code{void}.  This cannot be used for argument types, only
-for return values.
-
-@item ffi_type_uint8
-@tindex ffi_type_uint8
-An unsigned, 8-bit integer type.
-
-@item ffi_type_sint8
-@tindex ffi_type_sint8
-A signed, 8-bit integer type.
-
-@item ffi_type_uint16
-@tindex ffi_type_uint16
-An unsigned, 16-bit integer type.
-
-@item ffi_type_sint16
-@tindex ffi_type_sint16
-A signed, 16-bit integer type.
-
-@item ffi_type_uint32
-@tindex ffi_type_uint32
-An unsigned, 32-bit integer type.
-
-@item ffi_type_sint32
-@tindex ffi_type_sint32
-A signed, 32-bit integer type.
-
-@item ffi_type_uint64
-@tindex ffi_type_uint64
-An unsigned, 64-bit integer type.
-
-@item ffi_type_sint64
-@tindex ffi_type_sint64
-A signed, 64-bit integer type.
-
-@item ffi_type_float
-@tindex ffi_type_float
-The C @code{float} type.
-
-@item ffi_type_double
-@tindex ffi_type_double
-The C @code{double} type.
-
-@item ffi_type_uchar
-@tindex ffi_type_uchar
-The C @code{unsigned char} type.
-
-@item ffi_type_schar
-@tindex ffi_type_schar
-The C @code{signed char} type.  (Note that there is not an exact
-equivalent to the C @code{char} type in @code{libffi}; ordinarily you
-should either use @code{ffi_type_schar} or @code{ffi_type_uchar}
-depending on whether @code{char} is signed.)
-
-@item ffi_type_ushort
-@tindex ffi_type_ushort
-The C @code{unsigned short} type.
-
-@item ffi_type_sshort
-@tindex ffi_type_sshort
-The C @code{short} type.
-
-@item ffi_type_uint
-@tindex ffi_type_uint
-The C @code{unsigned int} type.
-
-@item ffi_type_sint
-@tindex ffi_type_sint
-The C @code{int} type.
-
-@item ffi_type_ulong
-@tindex ffi_type_ulong
-The C @code{unsigned long} type.
-
-@item ffi_type_slong
-@tindex ffi_type_slong
-The C @code{long} type.
-
-@item ffi_type_longdouble
-@tindex ffi_type_longdouble
-On platforms that have a C @code{long double} type, this is defined.
-On other platforms, it is not.
-
-@item ffi_type_pointer
-@tindex ffi_type_pointer
-A generic @code{void *} pointer.  You should use this for all
-pointers, regardless of their real type.
-@end table
-
-Each of these is of type @code{ffi_type}, so you must take the address
-when passing to @code{ffi_prep_cif}.
-
-
-@node Structures
-@subsection Structures
-
-Although @samp{libffi} has no special support for unions or
-bit-fields, it is perfectly happy passing structures back and forth.
-You must first describe the structure to @samp{libffi} by creating a
-new @code{ffi_type} object for it.
-
-@tindex ffi_type
-@deftp ffi_type
-The @code{ffi_type} has the following members:
-@table @code
-@item size_t size
-This is set by @code{libffi}; you should initialize it to zero.
-
-@item unsigned short alignment
-This is set by @code{libffi}; you should initialize it to zero.
-
-@item unsigned short type
-For a structure, this should be set to @code{FFI_TYPE_STRUCT}.
-
-@item ffi_type **elements
-This is a @samp{NULL}-terminated array of pointers to @code{ffi_type}
-objects.  There is one element per field of the struct.
-@end table
-@end deftp
-
-
-@node Type Example
-@subsection Type Example
-
-The following example initializes a @code{ffi_type} object
-representing the @code{tm} struct from Linux's @file{time.h}.
-
-Here is how the struct is defined:
-
-@example
-struct tm @{
-    int tm_sec;
-    int tm_min;
-    int tm_hour;
-    int tm_mday;
-    int tm_mon;
-    int tm_year;
-    int tm_wday;
-    int tm_yday;
-    int tm_isdst;
-    /* Those are for future use. */
-    long int __tm_gmtoff__;
-    __const char *__tm_zone__;
-@};
-@end example
-
-Here is the corresponding code to describe this struct to
-@code{libffi}:
-
-@example
-    @{
-      ffi_type tm_type;
-      ffi_type *tm_type_elements[12];
-      int i;
-
-      tm_type.size = tm_type.alignment = 0;
-      tm_type.elements = &tm_type_elements;
-    
-      for (i = 0; i < 9; i++)
-          tm_type_elements[i] = &ffi_type_sint;
-
-      tm_type_elements[9] = &ffi_type_slong;
-      tm_type_elements[10] = &ffi_type_pointer;
-      tm_type_elements[11] = NULL;
-
-      /* tm_type can now be used to represent tm argument types and
-        return types for ffi_prep_cif() */
-    @}
-@end example
-
-
-@node Multiple ABIs
-@section Multiple ABIs
-
-A given platform may provide multiple different ABIs at once.  For
-instance, the x86 platform has both @samp{stdcall} and @samp{fastcall}
-functions.
-
-@code{libffi} provides some support for this.  However, this is
-necessarily platform-specific.
-
-@c FIXME: document the platforms
-
-@node The Closure API
-@section The Closure API
-
-@code{libffi} also provides a way to write a generic function -- a
-function that can accept and decode any combination of arguments.
-This can be useful when writing an interpreter, or to provide wrappers
-for arbitrary functions.
-
-This facility is called the @dfn{closure API}.  Closures are not
-supported on all platforms; you can check the @code{FFI_CLOSURES}
-define to determine whether they are supported on the current
-platform.
-@cindex closures
-@cindex closure API
-@findex FFI_CLOSURES
-
-Because closures work by assembling a tiny function at runtime, they
-require special allocation on platforms that have a non-executable
-heap.  Memory management for closures is handled by a pair of
-functions:
-
-@findex ffi_closure_alloc
-@defun void *ffi_closure_alloc (size_t @var{size}, void **@var{code})
-Allocate a chunk of memory holding @var{size} bytes.  This returns a
-pointer to the writable address, and sets *@var{code} to the
-corresponding executable address.
-
-@var{size} should be sufficient to hold a @code{ffi_closure} object.
-@end defun
-
-@findex ffi_closure_free
-@defun void ffi_closure_free (void *@var{writable})
-Free memory allocated using @code{ffi_closure_alloc}.  The argument is
-the writable address that was returned.
-@end defun
-
-
-Once you have allocated the memory for a closure, you must construct a
-@code{ffi_cif} describing the function call.  Finally you can prepare
-the closure function:
-
-@findex ffi_prep_closure_loc
-@defun ffi_status ffi_prep_closure_loc (ffi_closure *@var{closure}, ffi_cif *@var{cif}, void (*@var{fun}) (ffi_cif *@var{cif}, void *@var{ret}, void **@var{args}, void *@var{user_data}), void *@var{user_data}, void *@var{codeloc})
-Prepare a closure function.
-
-@var{closure} is the address of a @code{ffi_closure} object; this is
-the writable address returned by @code{ffi_closure_alloc}.
-
-@var{cif} is the @code{ffi_cif} describing the function parameters.
-
-@var{user_data} is an arbitrary datum that is passed, uninterpreted,
-to your closure function.
-
-@var{codeloc} is the executable address returned by
-@code{ffi_closure_alloc}.
-
-@var{fun} is the function which will be called when the closure is
-invoked.  It is called with the arguments:
-@table @var
-@item cif
-The @code{ffi_cif} passed to @code{ffi_prep_closure_loc}.
-
-@item ret
-A pointer to the memory used for the function's return value.
-@var{fun} must fill this, unless the function is declared as returning
-@code{void}.
-@c FIXME: is this NULL for void-returning functions?
-
-@item args
-A vector of pointers to memory holding the arguments to the function.
-
-@item user_data
-The same @var{user_data} that was passed to
-@code{ffi_prep_closure_loc}.
-@end table
-
-@code{ffi_prep_closure_loc} will return @code{FFI_OK} if everything
-went ok, and something else on error.
-@c FIXME: what?
-
-After calling @code{ffi_prep_closure_loc}, you can cast @var{codeloc}
-to the appropriate pointer-to-function type.
-@end defun
-
-You may see old code referring to @code{ffi_prep_closure}.  This
-function is deprecated, as it cannot handle the need for separate
-writable and executable addresses.
-
-@node Closure Example
-@section Closure Example
-
-A trivial example that creates a new @code{puts} by binding 
-@code{fputs} with @code{stdin}.
-
-@example
-#include <stdio.h>
-#include <ffi.h>
-
-/* Acts like puts with the file given at time of enclosure. */
-void puts_binding(ffi_cif *cif, unsigned int *ret, void* args[], 
-                  FILE *stream)
-@{
-  *ret = fputs(*(char **)args[0], stream);
-@}
-
-int main()
-@{
-  ffi_cif cif;
-  ffi_type *args[1];
-  ffi_closure *closure;
-
-  int (*bound_puts)(char *);
-  int rc;
-  
-  /* Allocate closure and bound_puts */
-  closure = ffi_closure_alloc(sizeof(ffi_closure), &bound_puts);
-
-  if (closure)
-    @{
-      /* Initialize the argument info vectors */
-      args[0] = &ffi_type_pointer;
-
-      /* Initialize the cif */
-      if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
-                       &ffi_type_uint, args) == FFI_OK)
-        @{
-          /* Initialize the closure, setting stream to stdout */
-          if (ffi_prep_closure_loc(closure, &cif, puts_binding, 
-                                   stdout, bound_puts) == FFI_OK)
-            @{
-              rc = bound_puts("Hello World!");
-              /* rc now holds the result of the call to fputs */
-            @}
-        @}
-    @}
-
-  /* Deallocate both closure, and bound_puts */
-  ffi_closure_free(closure);
-
-  return 0;
-@}
-
-@end example
-
-
-@node Missing Features
-@chapter Missing Features
-
-@code{libffi} is missing a few features.  We welcome patches to add
-support for these.
-
-@itemize @bullet
-@item
-There is no support for calling varargs functions.  This may work on
-some platforms, depending on how the ABI is defined, but it is not
-reliable.
-
-@item
-There is no support for bit fields in structures.
-
-@item
-The closure API is
-
-@c FIXME: ...
-
-@item
-The ``raw'' API is undocumented.
-@c argument promotion?
-@c unions?
-@c anything else?
-@end itemize
-
-
-@node Index
-@unnumbered Index
-
-@printindex cp
-
-@bye
diff --git a/.pc/win64-struct-args/src/x86/ffi.c b/.pc/win64-struct-args/src/x86/ffi.c
deleted file mode 100644 (file)
index 7c01c57..0000000
+++ /dev/null
@@ -1,832 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 1996, 1998, 1999, 2001, 2007, 2008  Red Hat, Inc.
-           Copyright (c) 2002  Ranjit Mathew
-           Copyright (c) 2002  Bo Thorsen
-           Copyright (c) 2002  Roger Sayle
-           Copyright (C) 2008, 2010  Free Software Foundation, Inc.
-
-   x86 Foreign Function Interface
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#if !defined(__x86_64__) || defined(_WIN64)
-
-#ifdef _WIN64
-#include <windows.h>
-#endif
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-/* ffi_prep_args is called by the assembly routine once stack space
-   has been allocated for the function's arguments */
-
-void ffi_prep_args(char *stack, extended_cif *ecif)
-{
-  register unsigned int i;
-  register void **p_argv;
-  register char *argp;
-  register ffi_type **p_arg;
-#ifdef X86_WIN32
-  size_t p_stack_args[2];
-  void *p_stack_data[2];
-  char *argp2 = stack;
-  int stack_args_count = 0;
-  int cabi = ecif->cif->abi;
-#endif
-
-  argp = stack;
-
-  if (ecif->cif->flags == FFI_TYPE_STRUCT
-#ifdef X86_WIN64
-      && (ecif->cif->rtype->size != 1 && ecif->cif->rtype->size != 2
-          && ecif->cif->rtype->size != 4 && ecif->cif->rtype->size != 8)
-#endif
-      )
-    {
-      *(void **) argp = ecif->rvalue;
-#ifdef X86_WIN32
-      /* For fastcall/thiscall this is first register-passed
-         argument.  */
-      if (cabi == FFI_THISCALL || cabi == FFI_FASTCALL)
-       {
-         p_stack_args[stack_args_count] = sizeof (void*);
-         p_stack_data[stack_args_count] = argp;
-         ++stack_args_count;
-       }
-#endif
-      argp += sizeof(void*);
-    }
-
-  p_argv = ecif->avalue;
-
-  for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
-       i != 0;
-       i--, p_arg++)
-    {
-      size_t z;
-
-      /* Align if necessary */
-      if ((sizeof(void*) - 1) & (size_t) argp)
-        argp = (char *) ALIGN(argp, sizeof(void*));
-
-      z = (*p_arg)->size;
-#ifdef X86_WIN64
-      if (z > sizeof(ffi_arg)
-          || ((*p_arg)->type == FFI_TYPE_STRUCT
-              && (z != 1 && z != 2 && z != 4 && z != 8))
-#if FFI_TYPE_DOUBLE != FFI_TYPE_LONGDOUBLE
-          || ((*p_arg)->type == FFI_TYPE_LONGDOUBLE)
-#endif
-          )
-        {
-          z = sizeof(ffi_arg);
-          *(void **)argp = *p_argv;
-        }
-      else if ((*p_arg)->type == FFI_TYPE_FLOAT)
-        {
-          memcpy(argp, *p_argv, z);
-        }
-      else
-#endif
-      if (z < sizeof(ffi_arg))
-        {
-          z = sizeof(ffi_arg);
-          switch ((*p_arg)->type)
-            {
-            case FFI_TYPE_SINT8:
-              *(ffi_sarg *) argp = (ffi_sarg)*(SINT8 *)(* p_argv);
-              break;
-
-            case FFI_TYPE_UINT8:
-              *(ffi_arg *) argp = (ffi_arg)*(UINT8 *)(* p_argv);
-              break;
-
-            case FFI_TYPE_SINT16:
-              *(ffi_sarg *) argp = (ffi_sarg)*(SINT16 *)(* p_argv);
-              break;
-
-            case FFI_TYPE_UINT16:
-              *(ffi_arg *) argp = (ffi_arg)*(UINT16 *)(* p_argv);
-              break;
-
-            case FFI_TYPE_SINT32:
-              *(ffi_sarg *) argp = (ffi_sarg)*(SINT32 *)(* p_argv);
-              break;
-
-            case FFI_TYPE_UINT32:
-              *(ffi_arg *) argp = (ffi_arg)*(UINT32 *)(* p_argv);
-              break;
-
-            case FFI_TYPE_STRUCT:
-              *(ffi_arg *) argp = *(ffi_arg *)(* p_argv);
-              break;
-
-            default:
-              FFI_ASSERT(0);
-            }
-        }
-      else
-        {
-          memcpy(argp, *p_argv, z);
-        }
-
-#ifdef X86_WIN32
-    /* For thiscall/fastcall convention register-passed arguments
-       are the first two none-floating-point arguments with a size
-       smaller or equal to sizeof (void*).  */
-    if ((cabi == FFI_THISCALL && stack_args_count < 1)
-        || (cabi == FFI_FASTCALL && stack_args_count < 2))
-      {
-       if (z <= 4
-           && ((*p_arg)->type != FFI_TYPE_FLOAT
-               && (*p_arg)->type != FFI_TYPE_STRUCT))
-         {
-           p_stack_args[stack_args_count] = z;
-           p_stack_data[stack_args_count] = argp;
-           ++stack_args_count;
-         }
-      }
-#endif
-      p_argv++;
-#ifdef X86_WIN64
-      argp += (z + sizeof(void*) - 1) & ~(sizeof(void*) - 1);
-#else
-      argp += z;
-#endif
-    }
-
-#ifdef X86_WIN32
-  /* We need to move the register-passed arguments for thiscall/fastcall
-     on top of stack, so that those can be moved to registers ecx/edx by
-     call-handler.  */
-  if (stack_args_count > 0)
-    {
-      size_t zz = (p_stack_args[0] + 3) & ~3;
-      char *h;
-
-      /* Move first argument to top-stack position.  */
-      if (p_stack_data[0] != argp2)
-       {
-         h = alloca (zz + 1);
-         memcpy (h, p_stack_data[0], zz);
-         memmove (argp2 + zz, argp2,
-                  (size_t) ((char *) p_stack_data[0] - (char*)argp2));
-         memcpy (argp2, h, zz);
-       }
-
-      argp2 += zz;
-      --stack_args_count;
-      if (zz > 4)
-       stack_args_count = 0;
-
-      /* If we have a second argument, then move it on top
-         after the first one.  */
-      if (stack_args_count > 0 && p_stack_data[1] != argp2)
-       {
-         zz = p_stack_args[1];
-         zz = (zz + 3) & ~3;
-         h = alloca (zz + 1);
-         h = alloca (zz + 1);
-         memcpy (h, p_stack_data[1], zz);
-         memmove (argp2 + zz, argp2, (size_t) ((char*) p_stack_data[1] - (char*)argp2));
-         memcpy (argp2, h, zz);
-       }
-    }
-#endif
-  return;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
-  unsigned int i;
-  ffi_type **ptr;
-
-  /* Set the return type flag */
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_VOID:
-#if defined(X86) || defined (X86_WIN32) || defined(X86_FREEBSD) || defined(X86_DARWIN) || defined(X86_WIN64)
-    case FFI_TYPE_UINT8:
-    case FFI_TYPE_UINT16:
-    case FFI_TYPE_SINT8:
-    case FFI_TYPE_SINT16:
-#endif
-#ifdef X86_WIN64
-    case FFI_TYPE_UINT32:
-    case FFI_TYPE_SINT32:
-#endif
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-#ifndef X86_WIN64
-#if FFI_TYPE_DOUBLE != FFI_TYPE_LONGDOUBLE
-    case FFI_TYPE_LONGDOUBLE:
-#endif
-#endif
-      cif->flags = (unsigned) cif->rtype->type;
-      break;
-
-    case FFI_TYPE_UINT64:
-#ifdef X86_WIN64
-    case FFI_TYPE_POINTER:
-#endif
-      cif->flags = FFI_TYPE_SINT64;
-      break;
-
-    case FFI_TYPE_STRUCT:
-#ifndef X86
-      if (cif->rtype->size == 1)
-        {
-          cif->flags = FFI_TYPE_SMALL_STRUCT_1B; /* same as char size */
-        }
-      else if (cif->rtype->size == 2)
-        {
-          cif->flags = FFI_TYPE_SMALL_STRUCT_2B; /* same as short size */
-        }
-      else if (cif->rtype->size == 4)
-        {
-#ifdef X86_WIN64
-          cif->flags = FFI_TYPE_SMALL_STRUCT_4B;
-#else
-          cif->flags = FFI_TYPE_INT; /* same as int type */
-#endif
-        }
-      else if (cif->rtype->size == 8)
-        {
-          cif->flags = FFI_TYPE_SINT64; /* same as int64 type */
-        }
-      else
-#endif
-        {
-          cif->flags = FFI_TYPE_STRUCT;
-          /* allocate space for return value pointer */
-          cif->bytes += ALIGN(sizeof(void*), FFI_SIZEOF_ARG);
-        }
-      break;
-
-    default:
-#ifdef X86_WIN64
-      cif->flags = FFI_TYPE_SINT64;
-      break;
-    case FFI_TYPE_INT:
-      cif->flags = FFI_TYPE_SINT32;
-#else
-      cif->flags = FFI_TYPE_INT;
-#endif
-      break;
-    }
-
-  for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-    {
-      if (((*ptr)->alignment - 1) & cif->bytes)
-        cif->bytes = ALIGN(cif->bytes, (*ptr)->alignment);
-      cif->bytes += ALIGN((*ptr)->size, FFI_SIZEOF_ARG);
-    }
-
-#ifdef X86_WIN64
-  /* ensure space for storing four registers */
-  cif->bytes += 4 * sizeof(ffi_arg);
-#endif
-
-#ifdef X86_DARWIN
-  cif->bytes = (cif->bytes + 15) & ~0xF;
-#endif
-
-  return FFI_OK;
-}
-
-#ifdef X86_WIN64
-extern int
-ffi_call_win64(void (*)(char *, extended_cif *), extended_cif *,
-               unsigned, unsigned, unsigned *, void (*fn)(void));
-#elif defined(X86_WIN32)
-extern void
-ffi_call_win32(void (*)(char *, extended_cif *), extended_cif *,
-               unsigned, unsigned, unsigned, unsigned *, void (*fn)(void));
-#else
-extern void ffi_call_SYSV(void (*)(char *, extended_cif *), extended_cif *,
-                          unsigned, unsigned, unsigned *, void (*fn)(void));
-#endif
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-  
-  /* If the return value is a struct and we don't have a return */
-  /* value address then we need to make one                     */
-
-#ifdef X86_WIN64
-  if (rvalue == NULL
-      && cif->flags == FFI_TYPE_STRUCT
-      && cif->rtype->size != 1 && cif->rtype->size != 2
-      && cif->rtype->size != 4 && cif->rtype->size != 8)
-    {
-      ecif.rvalue = alloca((cif->rtype->size + 0xF) & ~0xF);
-    }
-#else
-  if (rvalue == NULL
-      && cif->flags == FFI_TYPE_STRUCT)
-    {
-      ecif.rvalue = alloca(cif->rtype->size);
-    }
-#endif
-  else
-    ecif.rvalue = rvalue;
-    
-  
-  switch (cif->abi) 
-    {
-#ifdef X86_WIN64
-    case FFI_WIN64:
-      {
-        /* Make copies of all struct arguments
-           NOTE: not sure if responsibility should be here or in caller */
-        unsigned int i;
-        for (i=0; i < cif->nargs;i++) {
-          size_t size = cif->arg_types[i]->size;
-          if ((cif->arg_types[i]->type == FFI_TYPE_STRUCT
-               && (size != 1 && size != 2 && size != 4 && size != 8))
-#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
-              || cif->arg_types[i]->type == FFI_TYPE_LONGDOUBLE
-#endif
-              )
-            {
-              void *local = alloca(size);
-              memcpy(local, avalue[i], size);
-              avalue[i] = local;
-            }
-        }
-        ffi_call_win64(ffi_prep_args, &ecif, cif->bytes,
-                       cif->flags, ecif.rvalue, fn);
-      }
-      break;
-#elif defined(X86_WIN32)
-    case FFI_SYSV:
-    case FFI_STDCALL:
-      ffi_call_win32(ffi_prep_args, &ecif, cif->abi, cif->bytes, cif->flags,
-                    ecif.rvalue, fn);
-      break;
-    case FFI_THISCALL:
-    case FFI_FASTCALL:
-      {
-       unsigned int abi = cif->abi;
-       unsigned int i, passed_regs = 0;
-
-       if (cif->flags == FFI_TYPE_STRUCT)
-         ++passed_regs;
-
-       for (i=0; i < cif->nargs && passed_regs < 2;i++)
-         {
-           size_t sz;
-
-           if (cif->arg_types[i]->type == FFI_TYPE_FLOAT
-               || cif->arg_types[i]->type == FFI_TYPE_STRUCT)
-             continue;
-           sz = (cif->arg_types[i]->size + 3) & ~3;
-           if (sz == 0 || sz > 4)
-             continue;
-           ++passed_regs;
-         }
-       if (passed_regs < 2 && abi == FFI_FASTCALL)
-         abi = FFI_THISCALL;
-       if (passed_regs < 1 && abi == FFI_THISCALL)
-         abi = FFI_STDCALL;
-        ffi_call_win32(ffi_prep_args, &ecif, abi, cif->bytes, cif->flags,
-                       ecif.rvalue, fn);
-      }
-      break;
-#else
-    case FFI_SYSV:
-      ffi_call_SYSV(ffi_prep_args, &ecif, cif->bytes, cif->flags, ecif.rvalue,
-                    fn);
-      break;
-#endif
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-}
-
-
-/** private members **/
-
-/* The following __attribute__((regparm(1))) decorations will have no effect
-   on MSVC - standard cdecl convention applies. */
-static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
-                                         void** args, ffi_cif* cif);
-void FFI_HIDDEN ffi_closure_SYSV (ffi_closure *)
-     __attribute__ ((regparm(1)));
-unsigned int FFI_HIDDEN ffi_closure_SYSV_inner (ffi_closure *, void **, void *)
-     __attribute__ ((regparm(1)));
-void FFI_HIDDEN ffi_closure_raw_SYSV (ffi_raw_closure *)
-     __attribute__ ((regparm(1)));
-#ifdef X86_WIN32
-void FFI_HIDDEN ffi_closure_STDCALL (ffi_closure *)
-     __attribute__ ((regparm(1)));
-void FFI_HIDDEN ffi_closure_THISCALL (ffi_closure *)
-     __attribute__ ((regparm(1)));
-#endif
-#ifdef X86_WIN64
-void FFI_HIDDEN ffi_closure_win64 (ffi_closure *);
-#endif
-
-/* This function is jumped to by the trampoline */
-
-#ifdef X86_WIN64
-void * FFI_HIDDEN
-ffi_closure_win64_inner (ffi_closure *closure, void *args) {
-  ffi_cif       *cif;
-  void         **arg_area;
-  void          *result;
-  void          *resp = &result;
-
-  cif         = closure->cif;
-  arg_area    = (void**) alloca (cif->nargs * sizeof (void*));  
-
-  /* this call will initialize ARG_AREA, such that each
-   * element in that array points to the corresponding 
-   * value on the stack; and if the function returns
-   * a structure, it will change RESP to point to the
-   * structure return address.  */
-
-  ffi_prep_incoming_args_SYSV(args, &resp, arg_area, cif);
-  
-  (closure->fun) (cif, resp, arg_area, closure->user_data);
-
-  /* The result is returned in rax.  This does the right thing for
-     result types except for floats; we have to 'mov xmm0, rax' in the
-     caller to correct this.
-     TODO: structure sizes of 3 5 6 7 are returned by reference, too!!!
-  */
-  return cif->rtype->size > sizeof(void *) ? resp : *(void **)resp;
-}
-
-#else
-unsigned int FFI_HIDDEN __attribute__ ((regparm(1)))
-ffi_closure_SYSV_inner (ffi_closure *closure, void **respp, void *args)
-{
-  /* our various things...  */
-  ffi_cif       *cif;
-  void         **arg_area;
-
-  cif         = closure->cif;
-  arg_area    = (void**) alloca (cif->nargs * sizeof (void*));  
-
-  /* this call will initialize ARG_AREA, such that each
-   * element in that array points to the corresponding 
-   * value on the stack; and if the function returns
-   * a structure, it will change RESP to point to the
-   * structure return address.  */
-
-  ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif);
-
-  (closure->fun) (cif, *respp, arg_area, closure->user_data);
-
-  return cif->flags;
-}
-#endif /* !X86_WIN64 */
-
-static void
-ffi_prep_incoming_args_SYSV(char *stack, void **rvalue, void **avalue,
-                            ffi_cif *cif)
-{
-  register unsigned int i;
-  register void **p_argv;
-  register char *argp;
-  register ffi_type **p_arg;
-
-  argp = stack;
-
-#ifdef X86_WIN64
-  if (cif->rtype->size > sizeof(ffi_arg)
-      || (cif->flags == FFI_TYPE_STRUCT
-          && (cif->rtype->size != 1 && cif->rtype->size != 2
-              && cif->rtype->size != 4 && cif->rtype->size != 8))) {
-    *rvalue = *(void **) argp;
-    argp += sizeof(void *);
-  }
-#else
-  if ( cif->flags == FFI_TYPE_STRUCT ) {
-    *rvalue = *(void **) argp;
-    argp += sizeof(void *);
-  }
-#endif
-
-  p_argv = avalue;
-
-  for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
-    {
-      size_t z;
-
-      /* Align if necessary */
-      if ((sizeof(void*) - 1) & (size_t) argp) {
-        argp = (char *) ALIGN(argp, sizeof(void*));
-      }
-
-#ifdef X86_WIN64
-      if ((*p_arg)->size > sizeof(ffi_arg)
-          || ((*p_arg)->type == FFI_TYPE_STRUCT
-              && ((*p_arg)->size != 1 && (*p_arg)->size != 2
-                  && (*p_arg)->size != 4 && (*p_arg)->size != 8)))
-        {
-          z = sizeof(void *);
-          *p_argv = *(void **)argp;
-        }
-      else
-#endif
-        {
-          z = (*p_arg)->size;
-          
-          /* because we're little endian, this is what it turns into.   */
-          
-          *p_argv = (void*) argp;
-        }
-          
-      p_argv++;
-#ifdef X86_WIN64
-      argp += (z + sizeof(void*) - 1) & ~(sizeof(void*) - 1);
-#else
-      argp += z;
-#endif
-    }
-  
-  return;
-}
-
-#define FFI_INIT_TRAMPOLINE_WIN64(TRAMP,FUN,CTX,MASK) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
-   void*  __fun = (void*)(FUN); \
-   void*  __ctx = (void*)(CTX); \
-   *(unsigned char*) &__tramp[0] = 0x41; \
-   *(unsigned char*) &__tramp[1] = 0xbb; \
-   *(unsigned int*) &__tramp[2] = MASK; /* mov $mask, %r11 */ \
-   *(unsigned char*) &__tramp[6] = 0x48; \
-   *(unsigned char*) &__tramp[7] = 0xb8; \
-   *(void**) &__tramp[8] = __ctx; /* mov __ctx, %rax */ \
-   *(unsigned char *)  &__tramp[16] = 0x49; \
-   *(unsigned char *)  &__tramp[17] = 0xba; \
-   *(void**) &__tramp[18] = __fun; /* mov __fun, %r10 */ \
-   *(unsigned char *)  &__tramp[26] = 0x41; \
-   *(unsigned char *)  &__tramp[27] = 0xff; \
-   *(unsigned char *)  &__tramp[28] = 0xe2; /* jmp %r10 */ \
- }
-
-/* How to make a trampoline.  Derived from gcc/config/i386/i386.c. */
-
-#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
-   unsigned int  __fun = (unsigned int)(FUN); \
-   unsigned int  __ctx = (unsigned int)(CTX); \
-   unsigned int  __dis = __fun - (__ctx + 10);  \
-   *(unsigned char*) &__tramp[0] = 0xb8; \
-   *(unsigned int*)  &__tramp[1] = __ctx; /* movl __ctx, %eax */ \
-   *(unsigned char *)  &__tramp[5] = 0xe9; \
-   *(unsigned int*)  &__tramp[6] = __dis; /* jmp __fun  */ \
- }
-
-#define FFI_INIT_TRAMPOLINE_THISCALL(TRAMP,FUN,CTX,SIZE) \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
-   unsigned int  __fun = (unsigned int)(FUN); \
-   unsigned int  __ctx = (unsigned int)(CTX); \
-   unsigned int  __dis = __fun - (__ctx + 22);  \
-   unsigned short __size = (unsigned short)(SIZE); \
-   *(unsigned int *) &__tramp[0] = 0x8324048b; /* mov (%esp), %eax */ \
-   *(unsigned int *) &__tramp[4] = 0x4c890cec; /* sub $12, %esp */ \
-   *(unsigned int *) &__tramp[8] = 0x04890424; /* mov %ecx, 4(%esp) */ \
-   *(unsigned char*) &__tramp[12] = 0x24;      /* mov %eax, (%esp) */ \
-   *(unsigned char*) &__tramp[13] = 0xb8; \
-   *(unsigned int *) &__tramp[14] = __size;    /* mov __size, %eax */ \
-   *(unsigned int *) &__tramp[18] = 0x08244c8d;        /* lea 8(%esp), %ecx */ \
-   *(unsigned int *) &__tramp[22] = 0x4802e8c1; /* shr $2, %eax ; dec %eax */ \
-   *(unsigned short*) &__tramp[26] = 0x0b74;   /* jz 1f */ \
-   *(unsigned int *) &__tramp[28] = 0x8908518b;        /* 2b: mov 8(%ecx), %edx */ \
-   *(unsigned int *) &__tramp[32] = 0x04c18311; /* mov %edx, (%ecx) ; add $4, %ecx */ \
-   *(unsigned char*) &__tramp[36] = 0x48;      /* dec %eax */ \
-   *(unsigned short*) &__tramp[37] = 0xf575;   /* jnz 2b ; 1f: */ \
-   *(unsigned char*) &__tramp[39] = 0xb8; \
-   *(unsigned int*)  &__tramp[40] = __ctx; /* movl __ctx, %eax */ \
-   *(unsigned char *)  &__tramp[44] = 0xe8; \
-   *(unsigned int*)  &__tramp[45] = __dis; /* call __fun  */ \
-   *(unsigned char*)  &__tramp[49] = 0xc2; /* ret  */ \
-   *(unsigned short*)  &__tramp[50] = (__size + 8); /* ret (__size + 8)  */ \
- }
-
-#define FFI_INIT_TRAMPOLINE_STDCALL(TRAMP,FUN,CTX,SIZE)  \
-{ unsigned char *__tramp = (unsigned char*)(TRAMP); \
-   unsigned int  __fun = (unsigned int)(FUN); \
-   unsigned int  __ctx = (unsigned int)(CTX); \
-   unsigned int  __dis = __fun - (__ctx + 10); \
-   unsigned short __size = (unsigned short)(SIZE); \
-   *(unsigned char*) &__tramp[0] = 0xb8; \
-   *(unsigned int*)  &__tramp[1] = __ctx; /* movl __ctx, %eax */ \
-   *(unsigned char *)  &__tramp[5] = 0xe8; \
-   *(unsigned int*)  &__tramp[6] = __dis; /* call __fun  */ \
-   *(unsigned char *)  &__tramp[10] = 0xc2; \
-   *(unsigned short*)  &__tramp[11] = __size; /* ret __size  */ \
- }
-
-/* the cif must already be prep'ed */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                      ffi_cif* cif,
-                      void (*fun)(ffi_cif*,void*,void**,void*),
-                      void *user_data,
-                      void *codeloc)
-{
-#ifdef X86_WIN64
-#define ISFLOAT(IDX) (cif->arg_types[IDX]->type == FFI_TYPE_FLOAT || cif->arg_types[IDX]->type == FFI_TYPE_DOUBLE)
-#define FLAG(IDX) (cif->nargs>(IDX)&&ISFLOAT(IDX)?(1<<(IDX)):0)
-  if (cif->abi == FFI_WIN64) 
-    {
-      int mask = FLAG(0)|FLAG(1)|FLAG(2)|FLAG(3);
-      FFI_INIT_TRAMPOLINE_WIN64 (&closure->tramp[0],
-                                 &ffi_closure_win64,
-                                 codeloc, mask);
-      /* make sure we can execute here */
-    }
-#else
-  if (cif->abi == FFI_SYSV)
-    {
-      FFI_INIT_TRAMPOLINE (&closure->tramp[0],
-                           &ffi_closure_SYSV,
-                           (void*)codeloc);
-    }
-#ifdef X86_WIN32
-  else if (cif->abi == FFI_THISCALL)
-    {
-      FFI_INIT_TRAMPOLINE_THISCALL (&closure->tramp[0],
-                                   &ffi_closure_THISCALL,
-                                   (void*)codeloc,
-                                   cif->bytes);
-    }
-  else if (cif->abi == FFI_STDCALL)
-    {
-      FFI_INIT_TRAMPOLINE_STDCALL (&closure->tramp[0],
-                                   &ffi_closure_STDCALL,
-                                   (void*)codeloc, cif->bytes);
-    }
-#endif /* X86_WIN32 */
-#endif /* !X86_WIN64 */
-  else
-    {
-      return FFI_BAD_ABI;
-    }
-    
-  closure->cif  = cif;
-  closure->user_data = user_data;
-  closure->fun  = fun;
-
-  return FFI_OK;
-}
-
-/* ------- Native raw API support -------------------------------- */
-
-#if !FFI_NO_RAW_API
-
-ffi_status
-ffi_prep_raw_closure_loc (ffi_raw_closure* closure,
-                          ffi_cif* cif,
-                          void (*fun)(ffi_cif*,void*,ffi_raw*,void*),
-                          void *user_data,
-                          void *codeloc)
-{
-  int i;
-
-  if (cif->abi != FFI_SYSV) {
-    return FFI_BAD_ABI;
-  }
-
-  /* we currently don't support certain kinds of arguments for raw
-     closures.  This should be implemented by a separate assembly
-     language routine, since it would require argument processing,
-     something we don't do now for performance.  */
-
-  for (i = cif->nargs-1; i >= 0; i--)
-    {
-      FFI_ASSERT (cif->arg_types[i]->type != FFI_TYPE_STRUCT);
-      FFI_ASSERT (cif->arg_types[i]->type != FFI_TYPE_LONGDOUBLE);
-    }
-  
-
-  FFI_INIT_TRAMPOLINE (&closure->tramp[0], &ffi_closure_raw_SYSV,
-                       codeloc);
-    
-  closure->cif  = cif;
-  closure->user_data = user_data;
-  closure->fun  = fun;
-
-  return FFI_OK;
-}
-
-static void 
-ffi_prep_args_raw(char *stack, extended_cif *ecif)
-{
-  memcpy (stack, ecif->avalue, ecif->cif->bytes);
-}
-
-/* we borrow this routine from libffi (it must be changed, though, to
- * actually call the function passed in the first argument.  as of
- * libffi-1.20, this is not the case.)
- */
-
-void
-ffi_raw_call(ffi_cif *cif, void (*fn)(void), void *rvalue, ffi_raw *fake_avalue)
-{
-  extended_cif ecif;
-  void **avalue = (void **)fake_avalue;
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-  
-  /* If the return value is a struct and we don't have a return */
-  /* value address then we need to make one                     */
-
-  if ((rvalue == NULL) && 
-      (cif->rtype->type == FFI_TYPE_STRUCT))
-    {
-      ecif.rvalue = alloca(cif->rtype->size);
-    }
-  else
-    ecif.rvalue = rvalue;
-    
-  
-  switch (cif->abi) 
-    {
-#ifdef X86_WIN32
-    case FFI_SYSV:
-    case FFI_STDCALL:
-      ffi_call_win32(ffi_prep_args, &ecif, cif->abi, cif->bytes, cif->flags,
-                    ecif.rvalue, fn);
-      break;
-    case FFI_THISCALL:
-    case FFI_FASTCALL:
-      {
-       unsigned int abi = cif->abi;
-       unsigned int i, passed_regs = 0;
-
-       if (cif->flags == FFI_TYPE_STRUCT)
-         ++passed_regs;
-
-       for (i=0; i < cif->nargs && passed_regs < 2;i++)
-         {
-           size_t sz;
-
-           if (cif->arg_types[i]->type == FFI_TYPE_FLOAT
-               || cif->arg_types[i]->type == FFI_TYPE_STRUCT)
-             continue;
-           sz = (cif->arg_types[i]->size + 3) & ~3;
-           if (sz == 0 || sz > 4)
-             continue;
-           ++passed_regs;
-         }
-       if (passed_regs < 2 && abi == FFI_FASTCALL)
-         cif->abi = abi = FFI_THISCALL;
-       if (passed_regs < 1 && abi == FFI_THISCALL)
-         cif->abi = abi = FFI_STDCALL;
-        ffi_call_win32(ffi_prep_args, &ecif, abi, cif->bytes, cif->flags,
-                       ecif.rvalue, fn);
-      }
-      break;
-#else
-    case FFI_SYSV:
-      ffi_call_SYSV(ffi_prep_args_raw, &ecif, cif->bytes, cif->flags,
-                    ecif.rvalue, fn);
-      break;
-#endif
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-}
-
-#endif
-
-#endif /* !__x86_64__  || X86_WIN64 */
-
diff --git a/.pc/win64-underscore/.timestamp b/.pc/win64-underscore/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/win64-underscore/ChangeLog b/.pc/win64-underscore/ChangeLog
deleted file mode 100644 (file)
index 022a57a..0000000
+++ /dev/null
@@ -1,4544 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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-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-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/win64-underscore/aclocal.m4 b/.pc/win64-underscore/aclocal.m4
deleted file mode 100644 (file)
index 27e85bd..0000000
+++ /dev/null
@@ -1,1055 +0,0 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
-[m4_warning([this file was generated for autoconf 2.68.
-You have another version of autoconf.  It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.1], [],
-      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too.  Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# Figure out how to run the assembler.                      -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_PROG_AS
-# ----------
-AC_DEFUN([AM_PROG_AS],
-[# By default we simply use the C compiler to build assembly code.
-AC_REQUIRE([AC_PROG_CC])
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-AC_ARG_VAR([CCAS],      [assembler compiler command (defaults to CC)])
-AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
-_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
-])
-
-# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory.  The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run.  This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-#    fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-#    fails if $ac_aux_dir is absolute,
-#    fails when called from a subdirectory in a VPATH build with
-#          a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
-#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-#   MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH.  The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
-               [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_$1_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-  fi
-  am__universal=false
-  m4_case([$1], [CC],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac],
-    [CXX],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac])
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_$1_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking.              -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`AS_DIRNAME("$mf")`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake.                             -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# This macro actually does too much.  Some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names.  We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
-  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-             [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-                            [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
-                 [_AM_DEPENDENCIES(CC)],
-                 [define([AC_PROG_CC],
-                         defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                 [_AM_DEPENDENCIES(CXX)],
-                 [define([AC_PROG_CXX],
-                         defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                 [_AM_DEPENDENCIES(OBJC)],
-                 [define([AC_PROG_OBJC],
-                         defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
-  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
-       [enable], [m4_define([am_maintainer_other], [disable])],
-       [disable], [m4_define([am_maintainer_other], [enable])],
-       [m4_define([am_maintainer_other], [enable])
-        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
-  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
-  AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
-  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
-  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
-  MAINT=$MAINTAINER_MODE_TRUE
-  AC_SUBST([MAINT])dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Check to see how 'make' treats includes.                 -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
-          [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
-# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling.                     -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[[\\\"\#\$\&\'\`$am_lf]]*)
-    AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
-  *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries.  This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-#     tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-#     $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
-
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
-
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-  rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/asmcfi.m4])
-m4_include([m4/libtool.m4])
-m4_include([m4/ltoptions.m4])
-m4_include([m4/ltsugar.m4])
-m4_include([m4/ltversion.m4])
-m4_include([m4/lt~obsolete.m4])
-m4_include([acinclude.m4])
diff --git a/.pc/win64-underscore/configure b/.pc/win64-underscore/configure
deleted file mode 100755 (executable)
index 1304266..0000000
+++ /dev/null
@@ -1,15972 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/libffi]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer
-  --enable-debug          debugging mode
-  --disable-structs       omit code for struct support
-  --disable-raw-api       make the raw api unavailable
-  --enable-purify-safety  purify-safe mode
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CCAS        assembler compiler command (defaults to CC)
-  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if test "$cross_compiling" = yes; then
-    # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid; break
-else
-  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
-                       if test $ac_lo -le $ac_mid; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=$ac_mid; break
-else
-  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid
-else
-  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (($2) < 0)
-    {
-      long int i = longval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
-  ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
-  fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CCAS_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CCAS_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
-  am__fastdepCCAS_TRUE=
-  am__fastdepCCAS_FALSE='#'
-else
-  am__fastdepCCAS_TRUE='#'
-  am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
-   if test "$GCC" = yes; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
-           ;;
-         ppc64-*linux*|powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         ppc*-*linux*|powerpc*-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
-        enable_dlopen=no
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl='-Wl,-Wl,,'
-       lt_prog_compiler_pic='-PIC'
-       lt_prog_compiler_static='-Bstatic'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ F* | *Sun*Fortran*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec=
-         hardcode_libdir_flag_spec_ld='-rpath $libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       always_export_symbols=yes
-       file_list_spec='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-       enable_shared_with_static_runtimes=yes
-       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds='chmod 644 $oldlib'
-       postlink_cmds='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_flag_spec_ld='+b $libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-       fi
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec="$LIB"
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
-else
-  libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
-else
-  ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
-       ac_cv_func_mmap_anon=no ;;
-     *)
-       ac_cv_func_mmap_anon=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
-   fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
-  TESTSUBDIR_TRUE=
-  TESTSUBDIR_FALSE='#'
-else
-  TESTSUBDIR_TRUE='#'
-  TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[0-9]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
- powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[34]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
-  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
-  MIPS_TRUE=
-  MIPS_FALSE='#'
-else
-  MIPS_TRUE='#'
-  MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
-  SPARC_TRUE=
-  SPARC_FALSE='#'
-else
-  SPARC_TRUE='#'
-  SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
-  X86_TRUE=
-  X86_FALSE='#'
-else
-  X86_TRUE='#'
-  X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
-  X86_FREEBSD_TRUE=
-  X86_FREEBSD_FALSE='#'
-else
-  X86_FREEBSD_TRUE='#'
-  X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
-  X86_WIN32_TRUE=
-  X86_WIN32_FALSE='#'
-else
-  X86_WIN32_TRUE='#'
-  X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
-  X86_WIN64_TRUE=
-  X86_WIN64_FALSE='#'
-else
-  X86_WIN64_TRUE='#'
-  X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
-  X86_DARWIN_TRUE=
-  X86_DARWIN_FALSE='#'
-else
-  X86_DARWIN_TRUE='#'
-  X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
-  ALPHA_TRUE=
-  ALPHA_FALSE='#'
-else
-  ALPHA_TRUE='#'
-  ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
-  IA64_TRUE=
-  IA64_FALSE='#'
-else
-  IA64_TRUE='#'
-  IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
-  M32R_TRUE=
-  M32R_FALSE='#'
-else
-  M32R_TRUE='#'
-  M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
-  M68K_TRUE=
-  M68K_FALSE='#'
-else
-  M68K_TRUE='#'
-  M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
-  MOXIE_TRUE=
-  MOXIE_FALSE='#'
-else
-  MOXIE_TRUE='#'
-  MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
-  POWERPC_TRUE=
-  POWERPC_FALSE='#'
-else
-  POWERPC_TRUE='#'
-  POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
-  POWERPC_AIX_TRUE=
-  POWERPC_AIX_FALSE='#'
-else
-  POWERPC_AIX_TRUE='#'
-  POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
-  POWERPC_DARWIN_TRUE=
-  POWERPC_DARWIN_FALSE='#'
-else
-  POWERPC_DARWIN_TRUE='#'
-  POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
-  POWERPC_FREEBSD_TRUE=
-  POWERPC_FREEBSD_FALSE='#'
-else
-  POWERPC_FREEBSD_TRUE='#'
-  POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
-  ARM_TRUE=
-  ARM_FALSE='#'
-else
-  ARM_TRUE='#'
-  ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
-  AVR32_TRUE=
-  AVR32_FALSE='#'
-else
-  AVR32_TRUE='#'
-  AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
-  LIBFFI_CRIS_TRUE=
-  LIBFFI_CRIS_FALSE='#'
-else
-  LIBFFI_CRIS_TRUE='#'
-  LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
-  FRV_TRUE=
-  FRV_FALSE='#'
-else
-  FRV_TRUE='#'
-  FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
-  S390_TRUE=
-  S390_FALSE='#'
-else
-  S390_TRUE='#'
-  S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
-  X86_64_TRUE=
-  X86_64_FALSE='#'
-else
-  X86_64_TRUE='#'
-  X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
-  SH_TRUE=
-  SH_FALSE='#'
-else
-  SH_TRUE='#'
-  SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
-  SH64_TRUE=
-  SH64_FALSE='#'
-else
-  SH64_TRUE='#'
-  SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
-  PA_LINUX_TRUE=
-  PA_LINUX_FALSE='#'
-else
-  PA_LINUX_TRUE='#'
-  PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
-  PA_HPUX_TRUE=
-  PA_HPUX_FALSE='#'
-else
-  PA_HPUX_TRUE='#'
-  PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
-  PA64_HPUX_TRUE=
-  PA64_HPUX_FALSE='#'
-else
-  PA64_HPUX_TRUE='#'
-  PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
-  ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
-                                   if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
-    break
-fi
-
-  done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_long_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
-    fi
-  fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    gcc_cv_as_cfi_pseudo_op=unknown
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gcc_cv_as_cfi_pseudo_op=yes
-else
-  gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  libffi_cv_as_sparc_ua_pcrel=yes
-else
-  libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_register_pseudo_op=yes
-else
-  libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_pcrel=yes
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
-           libffi_cv_as_x86_pcrel=no
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_ascii_pseudo_op=yes
-else
-  libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_string_pseudo_op=yes
-else
-  libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
-     ;;
-esac
-
-if test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
-    fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
-  enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
-  fi
-fi
-
- if test "$enable_debug" = "yes"; then
-  FFI_DEBUG_TRUE=
-  FFI_DEBUG_FALSE='#'
-else
-  FFI_DEBUG_TRUE='#'
-  FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
-  enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
-  enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
-  enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
-  fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
-  as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
-  as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
-  as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
-  as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
-  as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
-  as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
-  as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
-  as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
-  as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
-  as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
-  as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
-  as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
-  as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
-  as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
-  as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
-  as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
-  as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
-    "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
-    "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
-    "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
-    "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
-    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
-    "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS  :L $CONFIG_LINKS  :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-  :L)
-  #
-  # CONFIG_LINK
-  #
-
-  if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
-    :
-  else
-    # Prefer the file from the source tree if names are identical.
-    if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
-      ac_source=$srcdir/$ac_source
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
-    if test ! -r "$ac_source"; then
-      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
-    fi
-    rm -f "$ac_file"
-
-    # Try a relative symlink, then a hard link, then a copy.
-    case $ac_source in
-    [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
-       *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
-    esac
-    ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
-      ln "$ac_source" "$ac_file" 2>/dev/null ||
-      cp -p "$ac_source" "$ac_file" ||
-      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
-  fi
- ;;
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-    "include":C) test -d include || mkdir include ;;
-    "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/win64-underscore/configure.ac b/.pc/win64-underscore/configure.ac
deleted file mode 100644 (file)
index 6998293..0000000
+++ /dev/null
@@ -1,472 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
- powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=yes
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
-           libffi_cv_as_x86_pcrel=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-    libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-    ])
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
-    AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-    AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.])
-else
-    AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.])
-fi
-
-AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-    libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-    ])
-if test $libffi_cv_hidden_visibility_attribute = yes; then
-    AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
diff --git a/.pc/win64-underscore/src/x86/win64.S b/.pc/win64-underscore/src/x86/win64.S
deleted file mode 100644 (file)
index 6e91818..0000000
+++ /dev/null
@@ -1,460 +0,0 @@
-#define LIBFFI_ASM
-#include <fficonfig.h>
-#include <ffi.h>
-       
-/* Constants for ffi_call_win64 */     
-#define STACK 0
-#define PREP_ARGS_FN 32
-#define ECIF 40
-#define CIF_BYTES 48
-#define CIF_FLAGS 56
-#define RVALUE 64
-#define FN 72
-
-/* ffi_call_win64 (void (*prep_args_fn)(char *, extended_cif *),
-                   extended_cif *ecif, unsigned bytes, unsigned flags,
-                   unsigned *rvalue, void (*fn)());
- */
-
-#ifdef _MSC_VER
-PUBLIC ffi_call_win64
-
-EXTRN  __chkstk:NEAR
-EXTRN  ffi_closure_win64_inner:NEAR
-
-_TEXT  SEGMENT
-
-;;; ffi_closure_win64 will be called with these registers set:
-;;;    rax points to 'closure'
-;;;    r11 contains a bit mask that specifies which of the
-;;;    first four parameters are float or double
-;;;
-;;; It must move the parameters passed in registers to their stack location,
-;;; call ffi_closure_win64_inner for the actual work, then return the result.
-;;; 
-ffi_closure_win64 PROC FRAME
-       ;; copy register arguments onto stack
-       test    r11, 1
-       jne     first_is_float  
-       mov     QWORD PTR [rsp+8], rcx
-       jmp     second
-first_is_float:
-       movlpd  QWORD PTR [rsp+8], xmm0
-
-second:
-       test    r11, 2
-       jne     second_is_float 
-       mov     QWORD PTR [rsp+16], rdx
-       jmp     third
-second_is_float:
-       movlpd  QWORD PTR [rsp+16], xmm1
-
-third:
-       test    r11, 4
-       jne     third_is_float  
-       mov     QWORD PTR [rsp+24], r8
-       jmp     fourth
-third_is_float:
-       movlpd  QWORD PTR [rsp+24], xmm2
-
-fourth:
-       test    r11, 8
-       jne     fourth_is_float 
-       mov     QWORD PTR [rsp+32], r9
-       jmp     done
-fourth_is_float:
-       movlpd  QWORD PTR [rsp+32], xmm3
-
-done:
-        .ALLOCSTACK 40
-       sub     rsp, 40
-        .ENDPROLOG
-       mov     rcx, rax        ; context is first parameter
-       mov     rdx, rsp        ; stack is second parameter
-       add     rdx, 48         ; point to start of arguments
-       mov     rax, ffi_closure_win64_inner
-       call    rax             ; call the real closure function
-       add     rsp, 40
-       movd    xmm0, rax       ; If the closure returned a float,
-                                ; ffi_closure_win64_inner wrote it to rax
-       ret     0
-ffi_closure_win64 ENDP
-
-ffi_call_win64 PROC FRAME
-        ;; copy registers onto stack
-       mov     QWORD PTR [rsp+32], r9
-       mov     QWORD PTR [rsp+24], r8
-       mov     QWORD PTR [rsp+16], rdx
-       mov     QWORD PTR [rsp+8], rcx
-        .PUSHREG rbp
-       push    rbp
-        .ALLOCSTACK 48
-       sub     rsp, 48                                 ; 00000030H
-        .SETFRAME rbp, 32
-       lea     rbp, QWORD PTR [rsp+32]
-        .ENDPROLOG
-
-       mov     eax, DWORD PTR CIF_BYTES[rbp]
-       add     rax, 15
-       and     rax, -16
-       call    __chkstk
-       sub     rsp, rax
-       lea     rax, QWORD PTR [rsp+32]
-       mov     QWORD PTR STACK[rbp], rax
-
-       mov     rdx, QWORD PTR ECIF[rbp]
-       mov     rcx, QWORD PTR STACK[rbp]
-       call    QWORD PTR PREP_ARGS_FN[rbp]
-
-       mov     rsp, QWORD PTR STACK[rbp]
-
-       movlpd  xmm3, QWORD PTR [rsp+24]
-       movd    r9, xmm3
-
-       movlpd  xmm2, QWORD PTR [rsp+16]
-       movd    r8, xmm2
-
-       movlpd  xmm1, QWORD PTR [rsp+8]
-       movd    rdx, xmm1
-
-       movlpd  xmm0, QWORD PTR [rsp]
-       movd    rcx, xmm0
-
-       call    QWORD PTR FN[rbp]
-ret_struct4b$:
-       cmp     DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SMALL_STRUCT_4B
-       jne     ret_struct2b$
-
-       mov     rcx, QWORD PTR RVALUE[rbp]
-       mov     DWORD PTR [rcx], eax
-       jmp     ret_void$
-
-ret_struct2b$:
-       cmp     DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SMALL_STRUCT_2B
-       jne     ret_struct1b$
-
-       mov     rcx, QWORD PTR RVALUE[rbp]
-       mov     WORD PTR [rcx], ax
-       jmp     ret_void$
-
-ret_struct1b$:
-       cmp     DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SMALL_STRUCT_1B
-       jne     ret_uint8$
-
-       mov     rcx, QWORD PTR RVALUE[rbp]
-       mov     BYTE PTR [rcx], al
-       jmp     ret_void$
-
-ret_uint8$:
-       cmp     DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_UINT8
-       jne     ret_sint8$
-
-       mov     rcx, QWORD PTR RVALUE[rbp]
-       movzx   rax, al
-       mov     QWORD PTR [rcx], rax
-       jmp     ret_void$
-
-ret_sint8$:
-       cmp     DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SINT8
-       jne     ret_uint16$
-
-       mov     rcx, QWORD PTR RVALUE[rbp]
-       movsx   rax, al
-       mov     QWORD PTR [rcx], rax
-       jmp     ret_void$
-
-ret_uint16$:
-       cmp     DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_UINT16
-       jne     ret_sint16$
-
-       mov     rcx, QWORD PTR RVALUE[rbp]
-       movzx   rax, ax
-       mov     QWORD PTR [rcx], rax
-       jmp     SHORT ret_void$
-
-ret_sint16$:
-       cmp     DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SINT16
-       jne     ret_uint32$
-
-       mov     rcx, QWORD PTR RVALUE[rbp]
-       movsx   rax, ax
-       mov     QWORD PTR [rcx], rax
-       jmp     SHORT ret_void$
-
-ret_uint32$:
-       cmp     DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_UINT32
-       jne     ret_sint32$
-
-       mov     rcx, QWORD PTR RVALUE[rbp]
-       mov     eax, eax
-       mov     QWORD PTR [rcx], rax
-       jmp     SHORT ret_void$
-
-ret_sint32$:
-       cmp     DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SINT32
-       jne     ret_float$
-
-       mov     rcx, QWORD PTR RVALUE[rbp]
-       cdqe
-       mov     QWORD PTR [rcx], rax
-       jmp     SHORT ret_void$
-
-ret_float$:
-       cmp     DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_FLOAT
-       jne     SHORT ret_double$
-
-       mov     rax, QWORD PTR RVALUE[rbp]
-       movss   DWORD PTR [rax], xmm0
-       jmp     SHORT ret_void$
-
-ret_double$:
-       cmp     DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_DOUBLE
-       jne     SHORT ret_sint64$
-
-       mov     rax, QWORD PTR RVALUE[rbp]
-       movlpd  QWORD PTR [rax], xmm0
-       jmp     SHORT ret_void$
-
-ret_sint64$:
-       cmp     DWORD PTR CIF_FLAGS[rbp], FFI_TYPE_SINT64
-       jne     ret_void$
-
-       mov     rcx, QWORD PTR RVALUE[rbp]
-       mov     QWORD PTR [rcx], rax
-       jmp     SHORT ret_void$
-       
-ret_void$:
-       xor     rax, rax
-
-       lea     rsp, QWORD PTR [rbp+16]
-       pop     rbp
-       ret     0
-ffi_call_win64 ENDP
-_TEXT  ENDS
-END
-#else        
-.text
-
-.extern _ffi_closure_win64_inner
-
-# ffi_closure_win64 will be called with these registers set:
-#    rax points to 'closure'
-#    r11 contains a bit mask that specifies which of the
-#    first four parameters are float or double
-#
-# It must move the parameters passed in registers to their stack location,
-# call ffi_closure_win64_inner for the actual work, then return the result.
-# 
-       .balign 16
-        .globl _ffi_closure_win64      
-_ffi_closure_win64:     
-       # copy register arguments onto stack
-       test    $1,%r11
-       jne     .Lfirst_is_float        
-       mov     %rcx, 8(%rsp)
-       jmp     .Lsecond
-.Lfirst_is_float:
-       movlpd  %xmm0, 8(%rsp)
-
-.Lsecond:
-       test    $2, %r11
-       jne     .Lsecond_is_float       
-       mov     %rdx, 16(%rsp)
-       jmp     .Lthird
-.Lsecond_is_float:
-       movlpd  %xmm1, 16(%rsp)
-
-.Lthird:
-       test    $4, %r11
-       jne     .Lthird_is_float        
-       mov     %r8,24(%rsp)
-       jmp     .Lfourth
-.Lthird_is_float:
-       movlpd  %xmm2, 24(%rsp)
-
-.Lfourth:
-       test    $8, %r11
-       jne     .Lfourth_is_float       
-       mov     %r9, 32(%rsp)
-       jmp     .Ldone
-.Lfourth_is_float:
-       movlpd  %xmm3, 32(%rsp)
-
-.Ldone:
-#.ALLOCSTACK 40
-       sub     $40, %rsp
-#.ENDPROLOG
-       mov     %rax, %rcx      # context is first parameter
-       mov     %rsp, %rdx      # stack is second parameter
-       add     $48, %rdx       # point to start of arguments
-       mov     $_ffi_closure_win64_inner, %rax
-       callq   *%rax           # call the real closure function
-       add     $40, %rsp
-       movq    %rax, %xmm0     # If the closure returned a float,
-                                # ffi_closure_win64_inner wrote it to rax
-       retq
-.ffi_closure_win64_end:
-
-       .balign 16
-        .globl _ffi_call_win64
-_ffi_call_win64:        
-        # copy registers onto stack
-       mov     %r9,32(%rsp)
-       mov     %r8,24(%rsp)
-       mov     %rdx,16(%rsp)
-       mov     %rcx,8(%rsp)
-        #.PUSHREG rbp
-       push    %rbp
-        #.ALLOCSTACK 48
-       sub     $48,%rsp
-        #.SETFRAME rbp, 32
-       lea     32(%rsp),%rbp
-        #.ENDPROLOG
-
-       mov     CIF_BYTES(%rbp),%eax
-       add     $15, %rax
-       and     $-16, %rax
-       cmpq    $0x1000, %rax
-       jb      Lch_done
-Lch_probe:
-       subq    $0x1000,%rsp
-       orl     $0x0, (%rsp)
-       subq    $0x1000,%rax
-       cmpq    $0x1000,%rax
-       ja      Lch_probe
-Lch_done:
-       subq    %rax, %rsp
-       orl     $0x0, (%rsp)
-       lea     32(%rsp), %rax
-       mov     %rax, STACK(%rbp)
-
-       mov     ECIF(%rbp), %rdx
-       mov     STACK(%rbp), %rcx
-       callq   *PREP_ARGS_FN(%rbp)
-
-       mov     STACK(%rbp), %rsp
-
-       movlpd  24(%rsp), %xmm3
-       movd    %xmm3, %r9
-
-       movlpd  16(%rsp), %xmm2
-       movd    %xmm2, %r8
-
-       movlpd  8(%rsp), %xmm1
-       movd    %xmm1, %rdx
-
-       movlpd  (%rsp), %xmm0
-       movd    %xmm0, %rcx
-
-       callq   *FN(%rbp)
-.Lret_struct4b:
-       cmpl    $FFI_TYPE_SMALL_STRUCT_4B, CIF_FLAGS(%rbp)
-       jne .Lret_struct2b
-
-       mov     RVALUE(%rbp), %rcx
-       mov     %eax, (%rcx)
-       jmp     .Lret_void
-
-.Lret_struct2b:
-       cmpl    $FFI_TYPE_SMALL_STRUCT_2B, CIF_FLAGS(%rbp)
-       jne .Lret_struct1b
-       
-       mov     RVALUE(%rbp), %rcx
-       mov     %ax, (%rcx)
-       jmp .Lret_void
-       
-.Lret_struct1b:
-       cmpl    $FFI_TYPE_SMALL_STRUCT_1B, CIF_FLAGS(%rbp)
-       jne .Lret_uint8
-       
-       mov     RVALUE(%rbp), %rcx
-       mov     %al, (%rcx)
-       jmp .Lret_void
-
-.Lret_uint8:
-       cmpl    $FFI_TYPE_UINT8, CIF_FLAGS(%rbp)
-       jne .Lret_sint8
-       
-        mov     RVALUE(%rbp), %rcx
-        movzbq  %al, %rax
-       movq    %rax, (%rcx)
-       jmp .Lret_void
-
-.Lret_sint8:
-       cmpl    $FFI_TYPE_SINT8, CIF_FLAGS(%rbp)
-       jne .Lret_uint16
-       
-        mov     RVALUE(%rbp), %rcx
-        movsbq  %al, %rax
-       movq    %rax, (%rcx)
-       jmp .Lret_void
-
-.Lret_uint16:
-       cmpl    $FFI_TYPE_UINT16, CIF_FLAGS(%rbp)
-       jne .Lret_sint16
-       
-        mov     RVALUE(%rbp), %rcx
-        movzwq  %ax, %rax
-       movq    %rax, (%rcx)
-       jmp .Lret_void
-
-.Lret_sint16:
-       cmpl    $FFI_TYPE_SINT16, CIF_FLAGS(%rbp)
-       jne .Lret_uint32
-       
-        mov     RVALUE(%rbp), %rcx
-        movswq  %ax, %rax
-       movq    %rax, (%rcx)
-       jmp .Lret_void
-
-.Lret_uint32:
-       cmpl    $FFI_TYPE_UINT32, CIF_FLAGS(%rbp)
-       jne .Lret_sint32
-       
-        mov     RVALUE(%rbp), %rcx
-        movl    %eax, %eax
-       movq    %rax, (%rcx)
-       jmp .Lret_void
-
-.Lret_sint32:
-       cmpl    $FFI_TYPE_SINT32, CIF_FLAGS(%rbp)
-       jne     .Lret_float
-
-       mov     RVALUE(%rbp), %rcx
-       cltq
-       movq    %rax, (%rcx)
-       jmp     .Lret_void
-
-.Lret_float:
-       cmpl    $FFI_TYPE_FLOAT, CIF_FLAGS(%rbp)
-       jne     .Lret_double
-
-       mov     RVALUE(%rbp), %rax
-       movss   %xmm0, (%rax)
-       jmp     .Lret_void
-
-.Lret_double:
-       cmpl    $FFI_TYPE_DOUBLE, CIF_FLAGS(%rbp)
-       jne     .Lret_sint64
-
-       mov     RVALUE(%rbp), %rax
-       movlpd  %xmm0, (%rax)
-       jmp     .Lret_void
-
-.Lret_sint64:
-       cmpl    $FFI_TYPE_SINT64, CIF_FLAGS(%rbp)
-       jne     .Lret_void
-
-       mov     RVALUE(%rbp), %rcx
-       mov     %rax, (%rcx)
-       jmp     .Lret_void
-       
-.Lret_void:
-       xor     %rax, %rax
-
-       lea     16(%rbp), %rsp
-       pop     %rbp
-       retq
-.ffi_call_win64_end:
-#endif /* !_MSC_VER */
-
diff --git a/.pc/windows-ce-arm/.timestamp b/.pc/windows-ce-arm/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/windows-ce-arm/ChangeLog b/.pc/windows-ce-arm/ChangeLog
deleted file mode 100644 (file)
index 39399ca..0000000
+++ /dev/null
@@ -1,4692 +0,0 @@
-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  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  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-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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * 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.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/windows-ce-arm/src/arm/ffi.c b/.pc/windows-ce-arm/src/arm/ffi.c
deleted file mode 100644 (file)
index 0fb6754..0000000
+++ /dev/null
@@ -1,728 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 2011 Plausible Labs Cooperative, Inc.
-           Copyright (c) 2011 Anthony Green
-          Copyright (c) 2011 Free Software Foundation
-           Copyright (c) 1998, 2008, 2011  Red Hat, Inc.
-          
-   ARM Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-
-/* Forward declares. */
-static int vfp_type_p (ffi_type *);
-static void layout_vfp_args (ffi_cif *);
-
-/* ffi_prep_args is called by the assembly routine once stack space
-   has been allocated for the function's arguments
-   
-   The vfp_space parameter is the load area for VFP regs, the return
-   value is cif->vfp_used (word bitset of VFP regs used for passing
-   arguments). These are only used for the VFP hard-float ABI.
-*/
-int ffi_prep_args(char *stack, extended_cif *ecif, float *vfp_space)
-{
-  register unsigned int i, vi = 0;
-  register void **p_argv;
-  register char *argp;
-  register ffi_type **p_arg;
-
-  argp = stack;
-
-  if ( ecif->cif->flags == FFI_TYPE_STRUCT ) {
-    *(void **) argp = ecif->rvalue;
-    argp += 4;
-  }
-
-  p_argv = ecif->avalue;
-
-  for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
-       (i != 0);
-       i--, p_arg++)
-    {
-      size_t z;
-
-      /* Allocated in VFP registers. */
-      if (ecif->cif->abi == FFI_VFP
-         && vi < ecif->cif->vfp_nargs && vfp_type_p (*p_arg))
-       {
-         float* vfp_slot = vfp_space + ecif->cif->vfp_args[vi++];
-         if ((*p_arg)->type == FFI_TYPE_FLOAT)
-           *((float*)vfp_slot) = *((float*)*p_argv);
-         else if ((*p_arg)->type == FFI_TYPE_DOUBLE)
-           *((double*)vfp_slot) = *((double*)*p_argv);
-         else
-           memcpy(vfp_slot, *p_argv, (*p_arg)->size);
-         p_argv++;
-         continue;
-       }
-
-      /* Align if necessary */
-      if (((*p_arg)->alignment - 1) & (unsigned) argp) {
-       argp = (char *) ALIGN(argp, (*p_arg)->alignment);
-      }
-
-      if ((*p_arg)->type == FFI_TYPE_STRUCT)
-       argp = (char *) ALIGN(argp, 4);
-
-         z = (*p_arg)->size;
-         if (z < sizeof(int))
-           {
-             z = sizeof(int);
-             switch ((*p_arg)->type)
-               {
-               case FFI_TYPE_SINT8:
-                 *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_UINT8:
-                 *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_SINT16:
-                 *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_UINT16:
-                 *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv);
-                 break;
-                 
-               case FFI_TYPE_STRUCT:
-                 memcpy(argp, *p_argv, (*p_arg)->size);
-                 break;
-
-               default:
-                 FFI_ASSERT(0);
-               }
-           }
-         else if (z == sizeof(int))
-           {
-             *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv);
-           }
-         else
-           {
-             memcpy(argp, *p_argv, z);
-           }
-         p_argv++;
-         argp += z;
-    }
-
-  /* Indicate the VFP registers used. */
-  return ecif->cif->vfp_used;
-}
-
-/* Perform machine dependent cif processing */
-ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
-{
-  int type_code;
-  /* Round the stack up to a multiple of 8 bytes.  This isn't needed 
-     everywhere, but it is on some platforms, and it doesn't harm anything
-     when it isn't needed.  */
-  cif->bytes = (cif->bytes + 7) & ~7;
-
-  /* Set the return type flag */
-  switch (cif->rtype->type)
-    {
-    case FFI_TYPE_VOID:
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-      cif->flags = (unsigned) cif->rtype->type;
-      break;
-
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_UINT64:
-      cif->flags = (unsigned) FFI_TYPE_SINT64;
-      break;
-
-    case FFI_TYPE_STRUCT:
-      if (cif->abi == FFI_VFP
-         && (type_code = vfp_type_p (cif->rtype)) != 0)
-       {
-         /* A Composite Type passed in VFP registers, either
-            FFI_TYPE_STRUCT_VFP_FLOAT or FFI_TYPE_STRUCT_VFP_DOUBLE. */
-         cif->flags = (unsigned) type_code;
-       }
-      else if (cif->rtype->size <= 4)
-       /* A Composite Type not larger than 4 bytes is returned in r0.  */
-       cif->flags = (unsigned)FFI_TYPE_INT;
-      else
-       /* A Composite Type larger than 4 bytes, or whose size cannot
-          be determined statically ... is stored in memory at an
-          address passed [in r0].  */
-       cif->flags = (unsigned)FFI_TYPE_STRUCT;
-      break;
-
-    default:
-      cif->flags = FFI_TYPE_INT;
-      break;
-    }
-
-  /* Map out the register placements of VFP register args.
-     The VFP hard-float calling conventions are slightly more sophisticated than
-     the base calling conventions, so we do it here instead of in ffi_prep_args(). */
-  if (cif->abi == FFI_VFP)
-    layout_vfp_args (cif);
-
-  return FFI_OK;
-}
-
-/* Prototypes for assembly functions, in sysv.S */
-extern void ffi_call_SYSV (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-extern void ffi_call_VFP (void (*fn)(void), extended_cif *, unsigned, unsigned, unsigned *);
-
-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  extended_cif ecif;
-
-  int small_struct = (cif->flags == FFI_TYPE_INT 
-                     && cif->rtype->type == FFI_TYPE_STRUCT);
-  int vfp_struct = (cif->flags == FFI_TYPE_STRUCT_VFP_FLOAT
-                   || cif->flags == FFI_TYPE_STRUCT_VFP_DOUBLE);
-
-  ecif.cif = cif;
-  ecif.avalue = avalue;
-
-  unsigned int temp;
-  
-  /* If the return value is a struct and we don't have a return        */
-  /* value address then we need to make one                    */
-
-  if ((rvalue == NULL) && 
-      (cif->flags == FFI_TYPE_STRUCT))
-    {
-      ecif.rvalue = alloca(cif->rtype->size);
-    }
-  else if (small_struct)
-    ecif.rvalue = &temp;
-  else if (vfp_struct)
-    {
-      /* Largest case is double x 4. */
-      ecif.rvalue = alloca(32);
-    }
-  else
-    ecif.rvalue = rvalue;
-
-  switch (cif->abi) 
-    {
-    case FFI_SYSV:
-      ffi_call_SYSV (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
-      break;
-
-    case FFI_VFP:
-      ffi_call_VFP (fn, &ecif, cif->bytes, cif->flags, ecif.rvalue);
-      break;
-
-    default:
-      FFI_ASSERT(0);
-      break;
-    }
-  if (small_struct)
-    memcpy (rvalue, &temp, cif->rtype->size);
-  else if (vfp_struct)
-    memcpy (rvalue, ecif.rvalue, cif->rtype->size);
-}
-
-/** private members **/
-
-static void ffi_prep_incoming_args_SYSV (char *stack, void **ret,
-                                        void** args, ffi_cif* cif, float *vfp_stack);
-
-void ffi_closure_SYSV (ffi_closure *);
-
-void ffi_closure_VFP (ffi_closure *);
-
-/* This function is jumped to by the trampoline */
-
-unsigned int
-ffi_closure_SYSV_inner (closure, respp, args, vfp_args)
-     ffi_closure *closure;
-     void **respp;
-     void *args;
-     void *vfp_args;
-{
-  // our various things...
-  ffi_cif       *cif;
-  void         **arg_area;
-
-  cif         = closure->cif;
-  arg_area    = (void**) alloca (cif->nargs * sizeof (void*));  
-
-  /* this call will initialize ARG_AREA, such that each
-   * element in that array points to the corresponding 
-   * value on the stack; and if the function returns
-   * a structure, it will re-set RESP to point to the
-   * structure return address.  */
-
-  ffi_prep_incoming_args_SYSV(args, respp, arg_area, cif, vfp_args);
-
-  (closure->fun) (cif, *respp, arg_area, closure->user_data);
-
-  return cif->flags;
-}
-
-/*@-exportheader@*/
-static void 
-ffi_prep_incoming_args_SYSV(char *stack, void **rvalue,
-                           void **avalue, ffi_cif *cif,
-                           /* Used only under VFP hard-float ABI. */
-                           float *vfp_stack)
-/*@=exportheader@*/
-{
-  register unsigned int i, vi = 0;
-  register void **p_argv;
-  register char *argp;
-  register ffi_type **p_arg;
-
-  argp = stack;
-
-  if ( cif->flags == FFI_TYPE_STRUCT ) {
-    *rvalue = *(void **) argp;
-    argp += 4;
-  }
-
-  p_argv = avalue;
-
-  for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
-    {
-      size_t z;
-      size_t alignment;
-  
-      if (cif->abi == FFI_VFP
-         && vi < cif->vfp_nargs && vfp_type_p (*p_arg))
-       {
-         *p_argv++ = (void*)(vfp_stack + cif->vfp_args[vi++]);
-         continue;
-       }
-
-      alignment = (*p_arg)->alignment;
-      if (alignment < 4)
-       alignment = 4;
-      /* Align if necessary */
-      if ((alignment - 1) & (unsigned) argp) {
-       argp = (char *) ALIGN(argp, alignment);
-      }
-
-      z = (*p_arg)->size;
-
-      /* because we're little endian, this is what it turns into.   */
-
-      *p_argv = (void*) argp;
-
-      p_argv++;
-      argp += z;
-    }
-  
-  return;
-}
-
-/* How to make a trampoline.  */
-
-extern unsigned int ffi_arm_trampoline[3];
-
-#if FFI_EXEC_TRAMPOLINE_TABLE
-
-#include <mach/mach.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-extern void *ffi_closure_trampoline_table_page;
-
-typedef struct ffi_trampoline_table ffi_trampoline_table;
-typedef struct ffi_trampoline_table_entry ffi_trampoline_table_entry;
-
-struct ffi_trampoline_table {
-  /* contigious writable and executable pages */
-  vm_address_t config_page;
-  vm_address_t trampoline_page;
-
-  /* free list tracking */
-  uint16_t free_count;
-  ffi_trampoline_table_entry *free_list;
-  ffi_trampoline_table_entry *free_list_pool;
-
-  ffi_trampoline_table *prev;
-  ffi_trampoline_table *next;
-};
-
-struct ffi_trampoline_table_entry {
-  void *(*trampoline)();
-  ffi_trampoline_table_entry *next;
-};
-
-/* Override the standard architecture trampoline size */
-// XXX TODO - Fix
-#undef FFI_TRAMPOLINE_SIZE
-#define FFI_TRAMPOLINE_SIZE 12
-
-/* The trampoline configuration is placed at 4080 bytes prior to the trampoline's entry point */
-#define FFI_TRAMPOLINE_CODELOC_CONFIG(codeloc) ((void **) (((uint8_t *) codeloc) - 4080));
-
-/* The first 16 bytes of the config page are unused, as they are unaddressable from the trampoline page. */
-#define FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET 16
-
-/* Total number of trampolines that fit in one trampoline table */
-#define FFI_TRAMPOLINE_COUNT ((PAGE_SIZE - FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET) / FFI_TRAMPOLINE_SIZE)
-
-static pthread_mutex_t ffi_trampoline_lock = PTHREAD_MUTEX_INITIALIZER;
-static ffi_trampoline_table *ffi_trampoline_tables = NULL;
-
-static ffi_trampoline_table *
-ffi_trampoline_table_alloc ()
-{
-  ffi_trampoline_table *table = NULL;
-
-  /* Loop until we can allocate two contigious pages */
-  while (table == NULL) {
-    vm_address_t config_page = 0x0;
-    kern_return_t kt;
-
-    /* Try to allocate two pages */
-    kt = vm_allocate (mach_task_self (), &config_page, PAGE_SIZE*2, VM_FLAGS_ANYWHERE);
-    if (kt != KERN_SUCCESS) {
-      fprintf(stderr, "vm_allocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-      break;
-    }
-
-    /* Now drop the second half of the allocation to make room for the trampoline table */
-    vm_address_t trampoline_page = config_page+PAGE_SIZE;
-    kt = vm_deallocate (mach_task_self (), trampoline_page, PAGE_SIZE);
-    if (kt != KERN_SUCCESS) {
-      fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-      break;
-    }
-
-    /* Remap the trampoline table to directly follow the config page */
-    vm_prot_t cur_prot;
-    vm_prot_t max_prot;
-
-    kt = vm_remap (mach_task_self (), &trampoline_page, PAGE_SIZE, 0x0, FALSE, mach_task_self (), (vm_address_t) &ffi_closure_trampoline_table_page, FALSE, &cur_prot, &max_prot, VM_INHERIT_SHARE);
-
-    /* If we lost access to the destination trampoline page, drop our config allocation mapping and retry */
-    if (kt != KERN_SUCCESS) {
-      /* Log unexpected failures */
-      if (kt != KERN_NO_SPACE) {
-        fprintf(stderr, "vm_remap() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-      }
-
-      vm_deallocate (mach_task_self (), config_page, PAGE_SIZE);
-      continue;
-    }
-
-    /* We have valid trampoline and config pages */
-    table = calloc (1, sizeof(ffi_trampoline_table));
-    table->free_count = FFI_TRAMPOLINE_COUNT;
-    table->config_page = config_page;
-    table->trampoline_page = trampoline_page;
-
-    /* Create and initialize the free list */
-    table->free_list_pool = calloc(FFI_TRAMPOLINE_COUNT, sizeof(ffi_trampoline_table_entry));
-
-    uint16_t i;
-    for (i = 0; i < table->free_count; i++) {
-      ffi_trampoline_table_entry *entry = &table->free_list_pool[i];
-      entry->trampoline = (void *) (table->trampoline_page + (i * FFI_TRAMPOLINE_SIZE));
-
-      if (i < table->free_count - 1)
-        entry->next = &table->free_list_pool[i+1];
-    }
-
-    table->free_list = table->free_list_pool;
-  }
-
-  return table;
-}
-
-void *
-ffi_closure_alloc (size_t size, void **code)
-{
-  /* Create the closure */
-  ffi_closure *closure = malloc(size);
-  if (closure == NULL)
-    return NULL;
-
-  pthread_mutex_lock(&ffi_trampoline_lock);
-
-  /* Check for an active trampoline table with available entries. */
-  ffi_trampoline_table *table = ffi_trampoline_tables;
-  if (table == NULL || table->free_list == NULL) {
-    table = ffi_trampoline_table_alloc ();
-    if (table == NULL) {
-      free(closure);
-      return NULL;
-    }
-
-    /* Insert the new table at the top of the list */
-    table->next = ffi_trampoline_tables;
-    if (table->next != NULL)
-        table->next->prev = table;
-
-    ffi_trampoline_tables = table;
-  }
-
-  /* Claim the free entry */
-  ffi_trampoline_table_entry *entry = ffi_trampoline_tables->free_list;
-  ffi_trampoline_tables->free_list = entry->next;
-  ffi_trampoline_tables->free_count--;
-  entry->next = NULL;
-
-  pthread_mutex_unlock(&ffi_trampoline_lock);
-
-  /* Initialize the return values */
-  *code = entry->trampoline;
-  closure->trampoline_table = table;
-  closure->trampoline_table_entry = entry;
-
-  return closure;
-}
-
-void
-ffi_closure_free (void *ptr)
-{
-  ffi_closure *closure = ptr;
-
-  pthread_mutex_lock(&ffi_trampoline_lock);
-
-  /* Fetch the table and entry references */
-  ffi_trampoline_table *table = closure->trampoline_table;
-  ffi_trampoline_table_entry *entry = closure->trampoline_table_entry;
-
-  /* Return the entry to the free list */
-  entry->next = table->free_list;
-  table->free_list = entry;
-  table->free_count++;
-
-  /* If all trampolines within this table are free, and at least one other table exists, deallocate
-   * the table */
-  if (table->free_count == FFI_TRAMPOLINE_COUNT && ffi_trampoline_tables != table) {
-    /* Remove from the list */
-    if (table->prev != NULL)
-      table->prev->next = table->next;
-
-    if (table->next != NULL)
-      table->next->prev = table->prev;
-
-    /* Deallocate pages */
-    kern_return_t kt;
-    kt = vm_deallocate (mach_task_self (), table->config_page, PAGE_SIZE);
-    if (kt != KERN_SUCCESS)
-      fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-
-    kt = vm_deallocate (mach_task_self (), table->trampoline_page, PAGE_SIZE);
-    if (kt != KERN_SUCCESS)
-      fprintf(stderr, "vm_deallocate() failure: %d at %s:%d\n", kt, __FILE__, __LINE__);
-
-    /* Deallocate free list */
-    free (table->free_list_pool);
-    free (table);
-  } else if (ffi_trampoline_tables != table) {
-    /* Otherwise, bump this table to the top of the list */
-    table->prev = NULL;
-    table->next = ffi_trampoline_tables;
-    if (ffi_trampoline_tables != NULL)
-      ffi_trampoline_tables->prev = table;
-
-    ffi_trampoline_tables = table;
-  }
-
-  pthread_mutex_unlock (&ffi_trampoline_lock);
-
-  /* Free the closure */
-  free (closure);
-}
-
-#else
-
-#define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX)                             \
-({ unsigned char *__tramp = (unsigned char*)(TRAMP);                   \
-   unsigned int  __fun = (unsigned int)(FUN);                          \
-   unsigned int  __ctx = (unsigned int)(CTX);                          \
-   unsigned char *insns = (unsigned char *)(CTX);                       \
-   memcpy (__tramp, ffi_arm_trampoline, sizeof ffi_arm_trampoline);     \
-   *(unsigned int*) &__tramp[12] = __ctx;                              \
-   *(unsigned int*) &__tramp[16] = __fun;                              \
-   __clear_cache((&__tramp[0]), (&__tramp[19])); /* Clear data mapping.  */ \
-   __clear_cache(insns, insns + 3 * sizeof (unsigned int));             \
-                                                 /* Clear instruction   \
-                                                    mapping.  */        \
- })
-
-#endif
-
-/* the cif must already be prep'ed */
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif*,void*,void**,void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  void (*closure_func)(ffi_closure*) = NULL;
-
-  if (cif->abi == FFI_SYSV)
-    closure_func = &ffi_closure_SYSV;
-  else if (cif->abi == FFI_VFP)
-    closure_func = &ffi_closure_VFP;
-  else
-    return FFI_BAD_ABI;
-    
-#if FFI_EXEC_TRAMPOLINE_TABLE
-  void **config = FFI_TRAMPOLINE_CODELOC_CONFIG(codeloc);
-  config[0] = closure;
-  config[1] = closure_func;
-#else
-  FFI_INIT_TRAMPOLINE (&closure->tramp[0], \
-                      closure_func,  \
-                      codeloc);
-#endif
-
-  closure->cif  = cif;
-  closure->user_data = user_data;
-  closure->fun  = fun;
-
-  return FFI_OK;
-}
-
-/* Below are routines for VFP hard-float support. */
-
-static int rec_vfp_type_p (ffi_type *t, int *elt, int *elnum)
-{
-  switch (t->type)
-    {
-    case FFI_TYPE_FLOAT:
-    case FFI_TYPE_DOUBLE:
-      *elt = (int) t->type;
-      *elnum = 1;
-      return 1;
-
-    case FFI_TYPE_STRUCT_VFP_FLOAT:
-      *elt = FFI_TYPE_FLOAT;
-      *elnum = t->size / sizeof (float);
-      return 1;
-
-    case FFI_TYPE_STRUCT_VFP_DOUBLE:
-      *elt = FFI_TYPE_DOUBLE;
-      *elnum = t->size / sizeof (double);
-      return 1;
-
-    case FFI_TYPE_STRUCT:;
-      {
-       int base_elt = 0, total_elnum = 0;
-       ffi_type **el = t->elements;
-       while (*el)
-         {
-           int el_elt = 0, el_elnum = 0;
-           if (! rec_vfp_type_p (*el, &el_elt, &el_elnum)
-               || (base_elt && base_elt != el_elt)
-               || total_elnum + el_elnum > 4)
-             return 0;
-           base_elt = el_elt;
-           total_elnum += el_elnum;
-           el++;
-         }
-       *elnum = total_elnum;
-       *elt = base_elt;
-       return 1;
-      }
-    default: ;
-    }
-  return 0;
-}
-
-static int vfp_type_p (ffi_type *t)
-{
-  int elt, elnum;
-  if (rec_vfp_type_p (t, &elt, &elnum))
-    {
-      if (t->type == FFI_TYPE_STRUCT)
-       {
-         if (elnum == 1)
-           t->type = elt;
-         else
-           t->type = (elt == FFI_TYPE_FLOAT
-                      ? FFI_TYPE_STRUCT_VFP_FLOAT
-                      : FFI_TYPE_STRUCT_VFP_DOUBLE);
-       }
-      return (int) t->type;
-    }
-  return 0;
-}
-
-static void place_vfp_arg (ffi_cif *cif, ffi_type *t)
-{
-  int reg = cif->vfp_reg_free;
-  int nregs = t->size / sizeof (float);
-  int align = ((t->type == FFI_TYPE_STRUCT_VFP_FLOAT
-               || t->type == FFI_TYPE_FLOAT) ? 1 : 2);
-  /* Align register number. */
-  if ((reg & 1) && align == 2)
-    reg++;
-  while (reg + nregs <= 16)
-    {
-      int s, new_used = 0;
-      for (s = reg; s < reg + nregs; s++)
-       {
-         new_used |= (1 << s);
-         if (cif->vfp_used & (1 << s))
-           {
-             reg += align;
-             goto next_reg;
-           }
-       }
-      /* Found regs to allocate. */
-      cif->vfp_used |= new_used;
-      cif->vfp_args[cif->vfp_nargs++] = reg;
-
-      /* Update vfp_reg_free. */
-      if (cif->vfp_used & (1 << cif->vfp_reg_free))
-       {
-         reg += nregs;
-         while (cif->vfp_used & (1 << reg))
-           reg += 1;
-         cif->vfp_reg_free = reg;
-       }
-      return;
-    next_reg: ;
-    }
-}
-
-static void layout_vfp_args (ffi_cif *cif)
-{
-  int i;
-  /* Init VFP fields */
-  cif->vfp_used = 0;
-  cif->vfp_nargs = 0;
-  cif->vfp_reg_free = 0;
-  memset (cif->vfp_args, -1, 16); /* Init to -1. */
-
-  for (i = 0; i < cif->nargs; i++)
-    {
-      ffi_type *t = cif->arg_types[i];
-      if (vfp_type_p (t))
-       place_vfp_arg (cif, t);
-    }
-}
diff --git a/.pc/x32-abi/.timestamp b/.pc/x32-abi/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/x32-abi/ChangeLog b/.pc/x32-abi/ChangeLog
deleted file mode 100644 (file)
index f1f76ae..0000000
+++ /dev/null
@@ -1,4768 +0,0 @@
-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-23  Anthony Green  <green@moxielogic.com>
-
-       * src/*/ffitarget.h: Ensure that users never include ffitarget.h
-       directly.
-
-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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * 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.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/x32-abi/README b/.pc/x32-abi/README
deleted file mode 100644 (file)
index 8e3d79e..0000000
+++ /dev/null
@@ -1,349 +0,0 @@
-Status
-======
-
-libffi-3.0.11 was released on *****************. Check the libffi web
-page for updates: <URL:http://sourceware.org/libffi/>.
-
-
-What is libffi?
-===============
-
-Compilers for high level languages generate code that follow certain
-conventions. These conventions are necessary, in part, for separate
-compilation to work. One such convention is the "calling
-convention". The "calling convention" is essentially a set of
-assumptions made by the compiler about where function arguments will
-be found on entry to a function. A "calling convention" also specifies
-where the return value for a function is found.
-
-Some programs may not know at the time of compilation what arguments
-are to be passed to a function. For instance, an interpreter may be
-told at run-time about the number and types of arguments used to call
-a given function. Libffi can be used in such programs to provide a
-bridge from the interpreter program to compiled code.
-
-The libffi library provides a portable, high level programming
-interface to various calling conventions. This allows a programmer to
-call any function specified by a call interface description at run
-time.  
-
-FFI stands for Foreign Function Interface.  A foreign function
-interface is the popular name for the interface that allows code
-written in one language to call code written in another language. The
-libffi library really only provides the lowest, machine dependent
-layer of a fully featured foreign function interface. A layer must
-exist above libffi that handles type conversions for values passed
-between the two languages.
-
-
-Supported Platforms
-===================
-
-Libffi has been ported to many different platforms.
-For specific configuration details and testing status, please
-refer to the wiki page here:
-
- http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.11
-
-At the time of release, the following basic configurations have been
-tested:
-
-|--------------+------------------|
-| Architecture | Operating System |
-|--------------+------------------|
-| Alpha        | Linux            |
-| Alpha        | Tru64            |
-| ARM          | Linux            |
-| ARM          | iOS              |
-| AVR32        | Linux            |
-| HPPA         | HPUX             |
-| IA-64        | Linux            |
-| M68K         | RTEMS            |
-| MIPS         | IRIX             |
-| MIPS         | Linux            |
-| MIPS         | RTEMS            |
-| MIPS64       | Linux            |
-| PowerPC      | AMIGA            |
-| PowerPC      | Linux            |
-| PowerPC      | Mac OSX          |
-| PowerPC      | FreeBSD          |
-| PowerPC64    | Linux            |
-| S390         | Linux            |
-| S390X        | Linux            |
-| SPARC        | Linux            |
-| SPARC        | Solaris          |
-| SPARC64      | Linux            |
-| SPARC64      | FreeBSD          |
-| X86          | FreeBSD          |
-| X86          | Interix          |
-| X86          | kFreeBSD         |
-| X86          | Linux            |
-| X86          | Mac OSX          |
-| X86          | OpenBSD          |
-| X86          | OS/2             |
-| X86          | Solaris          |
-| X86          | Windows/Cygwin   |
-| X86          | Windows/MingW    |
-| X86-64       | FreeBSD          |
-| X86-64       | Linux            |
-| X86-64       | OpenBSD          |
-| X86-64       | Windows/MingW    |
-|--------------+------------------|
-
-Please send additional platform test results to
-libffi-discuss@sourceware.org and feel free to update the wiki page
-above.
-
-Installing libffi
-=================
-
-First you must configure the distribution for your particular
-system. Go to the directory you wish to build libffi in and run the
-"configure" program found in the root directory of the libffi source
-distribution.
-
-You may want to tell configure where to install the libffi library and
-header files. To do that, use the --prefix configure switch.  Libffi
-will install under /usr/local by default. 
-
-If you want to enable extra run-time debugging checks use the the
---enable-debug configure switch. This is useful when your program dies
-mysteriously while using libffi. 
-
-Another useful configure switch is --enable-purify-safety. Using this
-will add some extra code which will suppress certain warnings when you
-are using Purify with libffi. Only use this switch when using 
-Purify, as it will slow down the library.
-
-It's also possible to build libffi on Windows platforms with
-Microsoft's Visual C++ compiler.  In this case, use the msvcc.sh
-wrapper script during configuration like so:
-
-path/to/configure CC=path/to/msvcc.sh LD=link CPP=\"cl -nologo -EP\"
-
-For 64-bit Windows builds, use CC="path/to/msvcc.sh -m64".
-You may also need to specify --build appropriately. When building with MSVC
-under a MingW environment, you may need to remove the line in configure
-that sets 'fix_srcfile_path' to a 'cygpath' command. ('cygpath' is not
-present in MingW, and is not required when using MingW-style paths.)
-
-For iOS builds, refer to the build-ios.sh script for guidance.
-
-Configure has many other options. Use "configure --help" to see them all.
-
-Once configure has finished, type "make". Note that you must be using
-GNU make.  You can ftp GNU make from prep.ai.mit.edu:/pub/gnu.
-
-To ensure that libffi is working as advertised, type "make check".
-This will require that you have DejaGNU installed.
-
-To install the library and header files, type "make install".
-
-
-History
-=======
-
-See the ChangeLog files for details.
-
-3.0.11 MMM-DD-YY
-        Lots of build fixes.
-        Add Amiga newer MacOS support.
-       Fix Octeon and MC68881 support.
-       Fix code pessimizations.
-
-3.0.10 Aug-23-11
-        Add support for Apple's iOS.
-       Add support for ARM VFP ABI.
-        Add RTEMS support for MIPS and M68K.
-       Fix instruction cache clearing problems on
-         ARM and SPARC.
-       Fix the N64 build on mips-sgi-irix6.5.
-       Enable builds with Microsoft's compiler.
-       Enable x86 builds with Oracle's Solaris compiler.
-       Fix support for calling code compiled with Oracle's Sparc
-         Solaris compiler.
-       Testsuite fixes for Tru64 Unix.
-       Additional platform support.
-
-3.0.9 Dec-31-09
-        Add AVR32 and win64 ports.  Add ARM softfp support.
-       Many fixes for AIX, Solaris, HP-UX, *BSD.
-       Several PowerPC and x86-64 bug fixes.
-       Build DLL for windows.
-
-3.0.8 Dec-19-08
-        Add *BSD, BeOS, and PA-Linux support.
-
-3.0.7 Nov-11-08
-        Fix for ppc FreeBSD.
-       (thanks to Andreas Tobler)
-
-3.0.6 Jul-17-08
-        Fix for closures on sh.
-       Mark the sh/sh64 stack as non-executable.
-       (both thanks to Kaz Kojima)
-
-3.0.5 Apr-3-08
-        Fix libffi.pc file.
-       Fix #define ARM for IcedTea users.
-       Fix x86 closure bug.
-
-3.0.4 Feb-24-08
-        Fix x86 OpenBSD configury.
-
-3.0.3 Feb-22-08
-        Enable x86 OpenBSD thanks to Thomas Heller, and
-       x86-64 FreeBSD thanks to Björn König and Andreas Tobler.
-       Clean up test instruction in README.
-
-3.0.2 Feb-21-08
-        Improved x86 FreeBSD support.
-       Thanks to Björn König.
-
-3.0.1 Feb-15-08
-        Fix instruction cache flushing bug on MIPS.
-       Thanks to David Daney.
-
-3.0.0 Feb-15-08
-        Many changes, mostly thanks to the GCC project.
-       Cygnus Solutions is now Red Hat.
-
-  [10 years go by...]
-
-1.20 Oct-5-98
-       Raffaele Sena produces ARM port.
-
-1.19 Oct-5-98
-       Fixed x86 long double and long long return support.
-       m68k bug fixes from Andreas Schwab.
-       Patch for DU assembler compatibility for the Alpha from Richard
-       Henderson.
-
-1.18 Apr-17-98
-       Bug fixes and MIPS configuration changes.
-
-1.17 Feb-24-98
-       Bug fixes and m68k port from Andreas Schwab. PowerPC port from
-       Geoffrey Keating. Various bug x86, Sparc and MIPS bug fixes.
-
-1.16 Feb-11-98
-       Richard Henderson produces Alpha port.
-
-1.15 Dec-4-97
-       Fixed an n32 ABI bug. New libtool, auto* support.
-
-1.14 May-13-97
-       libtool is now used to generate shared and static libraries.
-       Fixed a minor portability problem reported by Russ McManus
-       <mcmanr@eq.gs.com>.
-
-1.13 Dec-2-96
-       Added --enable-purify-safety to keep Purify from complaining
-       about certain low level code.
-       Sparc fix for calling functions with < 6 args.
-       Linux x86 a.out fix.
-
-1.12 Nov-22-96
-       Added missing ffi_type_void, needed for supporting void return 
-       types. Fixed test case for non MIPS machines. Cygnus Support 
-       is now Cygnus Solutions. 
-
-1.11 Oct-30-96
-       Added notes about GNU make.
-
-1.10 Oct-29-96
-       Added configuration fix for non GNU compilers.
-
-1.09 Oct-29-96
-       Added --enable-debug configure switch. Clean-ups based on LCLint 
-       feedback. ffi_mips.h is always installed. Many configuration 
-       fixes. Fixed ffitest.c for sparc builds.
-
-1.08 Oct-15-96
-       Fixed n32 problem. Many clean-ups.
-
-1.07 Oct-14-96
-       Gordon Irlam rewrites v8.S again. Bug fixes.
-
-1.06 Oct-14-96
-       Gordon Irlam improved the sparc port. 
-
-1.05 Oct-14-96
-       Interface changes based on feedback.
-
-1.04 Oct-11-96
-       Sparc port complete (modulo struct passing bug).
-
-1.03 Oct-10-96
-       Passing struct args, and returning struct values works for
-       all architectures/calling conventions. Expanded tests.
-
-1.02 Oct-9-96
-       Added SGI n32 support. Fixed bugs in both o32 and Linux support.
-       Added "make test".
-
-1.01 Oct-8-96
-       Fixed float passing bug in mips version. Restructured some
-       of the code. Builds cleanly with SGI tools.
-
-1.00 Oct-7-96
-       First release. No public announcement.
-
-
-Authors & Credits
-=================
-
-libffi was originally written by Anthony Green <green@redhat.com>.
-
-The developers of the GNU Compiler Collection project have made
-innumerable valuable contributions.  See the ChangeLog file for
-details.
-
-Some of the ideas behind libffi were inspired by Gianni Mariani's free
-gencall library for Silicon Graphics machines.
-
-The closure mechanism was designed and implemented by Kresten Krab
-Thorup.
-
-Major processor architecture ports were contributed by the following
-developers:
-
-alpha          Richard Henderson
-arm            Raffaele Sena
-cris           Simon Posnjak, Hans-Peter Nilsson
-frv            Anthony Green
-ia64           Hans Boehm
-m32r           Kazuhiro Inaoka
-m68k           Andreas Schwab
-mips           Anthony Green, Casey Marshall
-mips64         David Daney
-pa             Randolph Chung, Dave Anglin, Andreas Tobler
-powerpc                Geoffrey Keating, Andreas Tobler, 
-                        David Edelsohn, John Hornkvist
-powerpc64      Jakub Jelinek
-s390           Gerhard Tonn, Ulrich Weigand
-sh             Kaz Kojima
-sh64           Kaz Kojima
-sparc          Anthony Green, Gordon Irlam
-x86            Anthony Green, Jon Beniston
-x86-64         Bo Thorsen
-
-Jesper Skov and Andrew Haley both did more than their fair share of
-stepping through the code and tracking down bugs.
-
-Thanks also to Tom Tromey for bug fixes, documentation and
-configuration help.
-
-Thanks to Jim Blandy, who provided some useful feedback on the libffi
-interface.
-
-Andreas Tobler has done a tremendous amount of work on the testsuite.
-
-Alex Oliva solved the executable page problem for SElinux.
-
-The list above is almost certainly incomplete and inaccurate.  I'm
-happy to make corrections or additions upon request.
-
-If you have a problem, or have found a bug, please send a note to the
-author at green@moxielogic.com, or the project mailing list at
-libffi-discuss@sourceware.org.
diff --git a/.pc/x32-abi/src/x86/ffi64.c b/.pc/x32-abi/src/x86/ffi64.c
deleted file mode 100644 (file)
index c8eb455..0000000
+++ /dev/null
@@ -1,635 +0,0 @@
-/* -----------------------------------------------------------------------
-   ffi64.c - Copyright (c) 20011  Anthony Green
-             Copyright (c) 2008, 2010  Red Hat, Inc.
-             Copyright (c) 2002, 2007  Bo Thorsen <bo@suse.de>
-             
-   x86-64 Foreign Function Interface 
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-
-#include <stdlib.h>
-#include <stdarg.h>
-
-#ifdef __x86_64__
-
-#define MAX_GPR_REGS 6
-#define MAX_SSE_REGS 8
-
-struct register_args
-{
-  /* Registers for argument passing.  */
-  UINT64 gpr[MAX_GPR_REGS];
-  __int128_t sse[MAX_SSE_REGS];
-};
-
-extern void ffi_call_unix64 (void *args, unsigned long bytes, unsigned flags,
-                            void *raddr, void (*fnaddr)(void), unsigned ssecount);
-
-/* All reference to register classes here is identical to the code in
-   gcc/config/i386/i386.c. Do *not* change one without the other.  */
-
-/* Register class used for passing given 64bit part of the argument.
-   These represent classes as documented by the PS ABI, with the
-   exception of SSESF, SSEDF classes, that are basically SSE class,
-   just gcc will use SF or DFmode move instead of DImode to avoid
-   reformatting penalties.
-
-   Similary we play games with INTEGERSI_CLASS to use cheaper SImode moves
-   whenever possible (upper half does contain padding).  */
-enum x86_64_reg_class
-  {
-    X86_64_NO_CLASS,
-    X86_64_INTEGER_CLASS,
-    X86_64_INTEGERSI_CLASS,
-    X86_64_SSE_CLASS,
-    X86_64_SSESF_CLASS,
-    X86_64_SSEDF_CLASS,
-    X86_64_SSEUP_CLASS,
-    X86_64_X87_CLASS,
-    X86_64_X87UP_CLASS,
-    X86_64_COMPLEX_X87_CLASS,
-    X86_64_MEMORY_CLASS
-  };
-
-#define MAX_CLASSES 4
-
-#define SSE_CLASS_P(X) ((X) >= X86_64_SSE_CLASS && X <= X86_64_SSEUP_CLASS)
-
-/* x86-64 register passing implementation.  See x86-64 ABI for details.  Goal
-   of this code is to classify each 8bytes of incoming argument by the register
-   class and assign registers accordingly.  */
-
-/* Return the union class of CLASS1 and CLASS2.
-   See the x86-64 PS ABI for details.  */
-
-static enum x86_64_reg_class
-merge_classes (enum x86_64_reg_class class1, enum x86_64_reg_class class2)
-{
-  /* Rule #1: If both classes are equal, this is the resulting class.  */
-  if (class1 == class2)
-    return class1;
-
-  /* Rule #2: If one of the classes is NO_CLASS, the resulting class is
-     the other class.  */
-  if (class1 == X86_64_NO_CLASS)
-    return class2;
-  if (class2 == X86_64_NO_CLASS)
-    return class1;
-
-  /* Rule #3: If one of the classes is MEMORY, the result is MEMORY.  */
-  if (class1 == X86_64_MEMORY_CLASS || class2 == X86_64_MEMORY_CLASS)
-    return X86_64_MEMORY_CLASS;
-
-  /* Rule #4: If one of the classes is INTEGER, the result is INTEGER.  */
-  if ((class1 == X86_64_INTEGERSI_CLASS && class2 == X86_64_SSESF_CLASS)
-      || (class2 == X86_64_INTEGERSI_CLASS && class1 == X86_64_SSESF_CLASS))
-    return X86_64_INTEGERSI_CLASS;
-  if (class1 == X86_64_INTEGER_CLASS || class1 == X86_64_INTEGERSI_CLASS
-      || class2 == X86_64_INTEGER_CLASS || class2 == X86_64_INTEGERSI_CLASS)
-    return X86_64_INTEGER_CLASS;
-
-  /* Rule #5: If one of the classes is X87, X87UP, or COMPLEX_X87 class,
-     MEMORY is used.  */
-  if (class1 == X86_64_X87_CLASS
-      || class1 == X86_64_X87UP_CLASS
-      || class1 == X86_64_COMPLEX_X87_CLASS
-      || class2 == X86_64_X87_CLASS
-      || class2 == X86_64_X87UP_CLASS
-      || class2 == X86_64_COMPLEX_X87_CLASS)
-    return X86_64_MEMORY_CLASS;
-
-  /* Rule #6: Otherwise class SSE is used.  */
-  return X86_64_SSE_CLASS;
-}
-
-/* Classify the argument of type TYPE and mode MODE.
-   CLASSES will be filled by the register class used to pass each word
-   of the operand.  The number of words is returned.  In case the parameter
-   should be passed in memory, 0 is returned. As a special case for zero
-   sized containers, classes[0] will be NO_CLASS and 1 is returned.
-
-   See the x86-64 PS ABI for details.
-*/
-static int
-classify_argument (ffi_type *type, enum x86_64_reg_class classes[],
-                  size_t byte_offset)
-{
-  switch (type->type)
-    {
-    case FFI_TYPE_UINT8:
-    case FFI_TYPE_SINT8:
-    case FFI_TYPE_UINT16:
-    case FFI_TYPE_SINT16:
-    case FFI_TYPE_UINT32:
-    case FFI_TYPE_SINT32:
-    case FFI_TYPE_UINT64:
-    case FFI_TYPE_SINT64:
-    case FFI_TYPE_POINTER:
-      {
-       int size = byte_offset + type->size;
-
-       if (size <= 4)
-         {
-           classes[0] = X86_64_INTEGERSI_CLASS;
-           return 1;
-         }
-       else if (size <= 8)
-         {
-           classes[0] = X86_64_INTEGER_CLASS;
-           return 1;
-         }
-       else if (size <= 12)
-         {
-           classes[0] = X86_64_INTEGER_CLASS;
-           classes[1] = X86_64_INTEGERSI_CLASS;
-           return 2;
-         }
-       else if (size <= 16)
-         {
-           classes[0] = classes[1] = X86_64_INTEGERSI_CLASS;
-           return 2;
-         }
-       else
-         FFI_ASSERT (0);
-      }
-    case FFI_TYPE_FLOAT:
-      if (!(byte_offset % 8))
-       classes[0] = X86_64_SSESF_CLASS;
-      else
-       classes[0] = X86_64_SSE_CLASS;
-      return 1;
-    case FFI_TYPE_DOUBLE:
-      classes[0] = X86_64_SSEDF_CLASS;
-      return 1;
-    case FFI_TYPE_LONGDOUBLE:
-      classes[0] = X86_64_X87_CLASS;
-      classes[1] = X86_64_X87UP_CLASS;
-      return 2;
-    case FFI_TYPE_STRUCT:
-      {
-       const int UNITS_PER_WORD = 8;
-       int words = (type->size + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
-       ffi_type **ptr; 
-       int i;
-       enum x86_64_reg_class subclasses[MAX_CLASSES];
-
-       /* If the struct is larger than 32 bytes, pass it on the stack.  */
-       if (type->size > 32)
-         return 0;
-
-       for (i = 0; i < words; i++)
-         classes[i] = X86_64_NO_CLASS;
-
-       /* Zero sized arrays or structures are NO_CLASS.  We return 0 to
-          signalize memory class, so handle it as special case.  */
-       if (!words)
-         {
-           classes[0] = X86_64_NO_CLASS;
-           return 1;
-         }
-
-       /* Merge the fields of structure.  */
-       for (ptr = type->elements; *ptr != NULL; ptr++)
-         {
-           int num;
-
-           byte_offset = ALIGN (byte_offset, (*ptr)->alignment);
-
-           num = classify_argument (*ptr, subclasses, byte_offset % 8);
-           if (num == 0)
-             return 0;
-           for (i = 0; i < num; i++)
-             {
-               int pos = byte_offset / 8;
-               classes[i + pos] =
-                 merge_classes (subclasses[i], classes[i + pos]);
-             }
-
-           byte_offset += (*ptr)->size;
-         }
-
-       if (words > 2)
-         {
-           /* When size > 16 bytes, if the first one isn't
-              X86_64_SSE_CLASS or any other ones aren't
-              X86_64_SSEUP_CLASS, everything should be passed in
-              memory.  */
-           if (classes[0] != X86_64_SSE_CLASS)
-             return 0;
-
-           for (i = 1; i < words; i++)
-             if (classes[i] != X86_64_SSEUP_CLASS)
-               return 0;
-         }
-
-       /* Final merger cleanup.  */
-       for (i = 0; i < words; i++)
-         {
-           /* If one class is MEMORY, everything should be passed in
-              memory.  */
-           if (classes[i] == X86_64_MEMORY_CLASS)
-             return 0;
-
-           /* The X86_64_SSEUP_CLASS should be always preceded by
-              X86_64_SSE_CLASS or X86_64_SSEUP_CLASS.  */
-           if (classes[i] == X86_64_SSEUP_CLASS
-               && classes[i - 1] != X86_64_SSE_CLASS
-               && classes[i - 1] != X86_64_SSEUP_CLASS)
-             {
-               /* The first one should never be X86_64_SSEUP_CLASS.  */
-               FFI_ASSERT (i != 0);
-               classes[i] = X86_64_SSE_CLASS;
-             }
-
-           /*  If X86_64_X87UP_CLASS isn't preceded by X86_64_X87_CLASS,
-               everything should be passed in memory.  */
-           if (classes[i] == X86_64_X87UP_CLASS
-               && (classes[i - 1] != X86_64_X87_CLASS))
-             {
-               /* The first one should never be X86_64_X87UP_CLASS.  */
-               FFI_ASSERT (i != 0);
-               return 0;
-             }
-         }
-       return words;
-      }
-
-    default:
-      FFI_ASSERT(0);
-    }
-  return 0; /* Never reached.  */
-}
-
-/* Examine the argument and return set number of register required in each
-   class.  Return zero iff parameter should be passed in memory, otherwise
-   the number of registers.  */
-
-static int
-examine_argument (ffi_type *type, enum x86_64_reg_class classes[MAX_CLASSES],
-                 _Bool in_return, int *pngpr, int *pnsse)
-{
-  int i, n, ngpr, nsse;
-
-  n = classify_argument (type, classes, 0);
-  if (n == 0)
-    return 0;
-
-  ngpr = nsse = 0;
-  for (i = 0; i < n; ++i)
-    switch (classes[i])
-      {
-      case X86_64_INTEGER_CLASS:
-      case X86_64_INTEGERSI_CLASS:
-       ngpr++;
-       break;
-      case X86_64_SSE_CLASS:
-      case X86_64_SSESF_CLASS:
-      case X86_64_SSEDF_CLASS:
-       nsse++;
-       break;
-      case X86_64_NO_CLASS:
-      case X86_64_SSEUP_CLASS:
-       break;
-      case X86_64_X87_CLASS:
-      case X86_64_X87UP_CLASS:
-      case X86_64_COMPLEX_X87_CLASS:
-       return in_return != 0;
-      default:
-       abort ();
-      }
-
-  *pngpr = ngpr;
-  *pnsse = nsse;
-
-  return n;
-}
-
-/* Perform machine dependent cif processing.  */
-
-ffi_status
-ffi_prep_cif_machdep (ffi_cif *cif)
-{
-  int gprcount, ssecount, i, avn, n, ngpr, nsse, flags;
-  enum x86_64_reg_class classes[MAX_CLASSES];
-  size_t bytes;
-
-  gprcount = ssecount = 0;
-
-  flags = cif->rtype->type;
-  if (flags != FFI_TYPE_VOID)
-    {
-      n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse);
-      if (n == 0)
-       {
-         /* The return value is passed in memory.  A pointer to that
-            memory is the first argument.  Allocate a register for it.  */
-         gprcount++;
-         /* We don't have to do anything in asm for the return.  */
-         flags = FFI_TYPE_VOID;
-       }
-      else if (flags == FFI_TYPE_STRUCT)
-       {
-         /* Mark which registers the result appears in.  */
-         _Bool sse0 = SSE_CLASS_P (classes[0]);
-         _Bool sse1 = n == 2 && SSE_CLASS_P (classes[1]);
-         if (sse0 && !sse1)
-           flags |= 1 << 8;
-         else if (!sse0 && sse1)
-           flags |= 1 << 9;
-         else if (sse0 && sse1)
-           flags |= 1 << 10;
-         /* Mark the true size of the structure.  */
-         flags |= cif->rtype->size << 12;
-       }
-    }
-
-  /* Go over all arguments and determine the way they should be passed.
-     If it's in a register and there is space for it, let that be so. If
-     not, add it's size to the stack byte count.  */
-  for (bytes = 0, i = 0, avn = cif->nargs; i < avn; i++)
-    {
-      if (examine_argument (cif->arg_types[i], classes, 0, &ngpr, &nsse) == 0
-         || gprcount + ngpr > MAX_GPR_REGS
-         || ssecount + nsse > MAX_SSE_REGS)
-       {
-         long align = cif->arg_types[i]->alignment;
-
-         if (align < 8)
-           align = 8;
-
-         bytes = ALIGN (bytes, align);
-         bytes += cif->arg_types[i]->size;
-       }
-      else
-       {
-         gprcount += ngpr;
-         ssecount += nsse;
-       }
-    }
-  if (ssecount)
-    flags |= 1 << 11;
-  cif->flags = flags;
-  cif->bytes = ALIGN (bytes, 8);
-
-  return FFI_OK;
-}
-
-void
-ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
-{
-  enum x86_64_reg_class classes[MAX_CLASSES];
-  char *stack, *argp;
-  ffi_type **arg_types;
-  int gprcount, ssecount, ngpr, nsse, i, avn;
-  _Bool ret_in_memory;
-  struct register_args *reg_args;
-
-  /* Can't call 32-bit mode from 64-bit mode.  */
-  FFI_ASSERT (cif->abi == FFI_UNIX64);
-
-  /* If the return value is a struct and we don't have a return value
-     address then we need to make one.  Note the setting of flags to
-     VOID above in ffi_prep_cif_machdep.  */
-  ret_in_memory = (cif->rtype->type == FFI_TYPE_STRUCT
-                  && (cif->flags & 0xff) == FFI_TYPE_VOID);
-  if (rvalue == NULL && ret_in_memory)
-    rvalue = alloca (cif->rtype->size);
-
-  /* Allocate the space for the arguments, plus 4 words of temp space.  */
-  stack = alloca (sizeof (struct register_args) + cif->bytes + 4*8);
-  reg_args = (struct register_args *) stack;
-  argp = stack + sizeof (struct register_args);
-
-  gprcount = ssecount = 0;
-
-  /* If the return value is passed in memory, add the pointer as the
-     first integer argument.  */
-  if (ret_in_memory)
-    reg_args->gpr[gprcount++] = (long) rvalue;
-
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-
-  for (i = 0; i < avn; ++i)
-    {
-      size_t size = arg_types[i]->size;
-      int n;
-
-      n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
-      if (n == 0
-         || gprcount + ngpr > MAX_GPR_REGS
-         || ssecount + nsse > MAX_SSE_REGS)
-       {
-         long align = arg_types[i]->alignment;
-
-         /* Stack arguments are *always* at least 8 byte aligned.  */
-         if (align < 8)
-           align = 8;
-
-         /* Pass this argument in memory.  */
-         argp = (void *) ALIGN (argp, align);
-         memcpy (argp, avalue[i], size);
-         argp += size;
-       }
-      else
-       {
-         /* The argument is passed entirely in registers.  */
-         char *a = (char *) avalue[i];
-         int j;
-
-         for (j = 0; j < n; j++, a += 8, size -= 8)
-           {
-             switch (classes[j])
-               {
-               case X86_64_INTEGER_CLASS:
-               case X86_64_INTEGERSI_CLASS:
-                 reg_args->gpr[gprcount] = 0;
-                 memcpy (&reg_args->gpr[gprcount], a, size < 8 ? size : 8);
-                 gprcount++;
-                 break;
-               case X86_64_SSE_CLASS:
-               case X86_64_SSEDF_CLASS:
-                 reg_args->sse[ssecount++] = *(UINT64 *) a;
-                 break;
-               case X86_64_SSESF_CLASS:
-                 reg_args->sse[ssecount++] = *(UINT32 *) a;
-                 break;
-               default:
-                 abort();
-               }
-           }
-       }
-    }
-
-  ffi_call_unix64 (stack, cif->bytes + sizeof (struct register_args),
-                  cif->flags, rvalue, fn, ssecount);
-}
-
-
-extern void ffi_closure_unix64(void);
-
-ffi_status
-ffi_prep_closure_loc (ffi_closure* closure,
-                     ffi_cif* cif,
-                     void (*fun)(ffi_cif*, void*, void**, void*),
-                     void *user_data,
-                     void *codeloc)
-{
-  volatile unsigned short *tramp;
-
-  /* Sanity check on the cif ABI.  */
-  {
-    int abi = cif->abi;
-    if (UNLIKELY (! (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI)))
-      return FFI_BAD_ABI;
-  }
-
-  tramp = (volatile unsigned short *) &closure->tramp[0];
-
-  tramp[0] = 0xbb49;           /* mov <code>, %r11     */
-  *(void * volatile *) &tramp[1] = ffi_closure_unix64;
-  tramp[5] = 0xba49;           /* mov <data>, %r10     */
-  *(void * volatile *) &tramp[6] = codeloc;
-
-  /* Set the carry bit iff the function uses any sse registers.
-     This is clc or stc, together with the first byte of the jmp.  */
-  tramp[10] = cif->flags & (1 << 11) ? 0x49f9 : 0x49f8;
-
-  tramp[11] = 0xe3ff;                  /* jmp *%r11    */
-
-  closure->cif = cif;
-  closure->fun = fun;
-  closure->user_data = user_data;
-
-  return FFI_OK;
-}
-
-int
-ffi_closure_unix64_inner(ffi_closure *closure, void *rvalue,
-                        struct register_args *reg_args, char *argp)
-{
-  ffi_cif *cif;
-  void **avalue;
-  ffi_type **arg_types;
-  long i, avn;
-  int gprcount, ssecount, ngpr, nsse;
-  int ret;
-
-  cif = closure->cif;
-  avalue = alloca(cif->nargs * sizeof(void *));
-  gprcount = ssecount = 0;
-
-  ret = cif->rtype->type;
-  if (ret != FFI_TYPE_VOID)
-    {
-      enum x86_64_reg_class classes[MAX_CLASSES];
-      int n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse);
-      if (n == 0)
-       {
-         /* The return value goes in memory.  Arrange for the closure
-            return value to go directly back to the original caller.  */
-         rvalue = (void *) reg_args->gpr[gprcount++];
-         /* We don't have to do anything in asm for the return.  */
-         ret = FFI_TYPE_VOID;
-       }
-      else if (ret == FFI_TYPE_STRUCT && n == 2)
-       {
-         /* Mark which register the second word of the structure goes in.  */
-         _Bool sse0 = SSE_CLASS_P (classes[0]);
-         _Bool sse1 = SSE_CLASS_P (classes[1]);
-         if (!sse0 && sse1)
-           ret |= 1 << 8;
-         else if (sse0 && !sse1)
-           ret |= 1 << 9;
-       }
-    }
-
-  avn = cif->nargs;
-  arg_types = cif->arg_types;
-  
-  for (i = 0; i < avn; ++i)
-    {
-      enum x86_64_reg_class classes[MAX_CLASSES];
-      int n;
-
-      n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
-      if (n == 0
-         || gprcount + ngpr > MAX_GPR_REGS
-         || ssecount + nsse > MAX_SSE_REGS)
-       {
-         long align = arg_types[i]->alignment;
-
-         /* Stack arguments are *always* at least 8 byte aligned.  */
-         if (align < 8)
-           align = 8;
-
-         /* Pass this argument in memory.  */
-         argp = (void *) ALIGN (argp, align);
-         avalue[i] = argp;
-         argp += arg_types[i]->size;
-       }
-      /* If the argument is in a single register, or two consecutive
-        integer registers, then we can use that address directly.  */
-      else if (n == 1
-              || (n == 2 && !(SSE_CLASS_P (classes[0])
-                              || SSE_CLASS_P (classes[1]))))
-       {
-         /* The argument is in a single register.  */
-         if (SSE_CLASS_P (classes[0]))
-           {
-             avalue[i] = &reg_args->sse[ssecount];
-             ssecount += n;
-           }
-         else
-           {
-             avalue[i] = &reg_args->gpr[gprcount];
-             gprcount += n;
-           }
-       }
-      /* Otherwise, allocate space to make them consecutive.  */
-      else
-       {
-         char *a = alloca (16);
-         int j;
-
-         avalue[i] = a;
-         for (j = 0; j < n; j++, a += 8)
-           {
-             if (SSE_CLASS_P (classes[j]))
-               memcpy (a, &reg_args->sse[ssecount++], 8);
-             else
-               memcpy (a, &reg_args->gpr[gprcount++], 8);
-           }
-       }
-    }
-
-  /* Invoke the closure.  */
-  closure->fun (cif, rvalue, avalue, closure->user_data);
-
-  /* Tell assembly how to perform return type promotions.  */
-  return ret;
-}
-
-#endif /* __x86_64__ */
diff --git a/.pc/x32-abi/src/x86/ffitarget.h b/.pc/x32-abi/src/x86/ffitarget.h
deleted file mode 100644 (file)
index 17f60bc..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 2012  Anthony Green
-                 Copyright (c) 1996-2003, 2010  Red Hat, Inc.
-                 Copyright (C) 2008  Free Software Foundation, Inc.
-
-   Target configuration macros for x86 and x86-64.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-
-   ----------------------------------------------------------------------- */
-
-#ifndef LIBFFI_TARGET_H
-#define LIBFFI_TARGET_H
-
-#ifndef LIBFFI_H
-#error "Please do not include ffitarget.h directly into your source.  Use ffi.h instead."
-#endif
-
-/* ---- System specific configurations ----------------------------------- */
-
-/* For code common to all platforms on x86 and x86_64. */
-#define X86_ANY
-
-#if defined (X86_64) && defined (__i386__)
-#undef X86_64
-#define X86
-#endif
-
-#ifdef X86_WIN64
-#define FFI_SIZEOF_ARG 8
-#define USE_BUILTIN_FFS 0 /* not yet implemented in mingw-64 */
-#endif
-
-/* ---- Generic type definitions ----------------------------------------- */
-
-#ifndef LIBFFI_ASM
-#ifdef X86_WIN64
-#ifdef _MSC_VER
-typedef unsigned __int64       ffi_arg;
-typedef __int64                ffi_sarg;
-#else
-typedef unsigned long long     ffi_arg;
-typedef long long              ffi_sarg;
-#endif
-#else
-typedef unsigned long          ffi_arg;
-typedef signed long            ffi_sarg;
-#endif
-
-typedef enum ffi_abi {
-  FFI_FIRST_ABI = 0,
-
-  /* ---- Intel x86 Win32 ---------- */
-#ifdef X86_WIN32
-  FFI_SYSV,
-  FFI_STDCALL,
-  FFI_THISCALL,
-  FFI_FASTCALL,
-  FFI_LAST_ABI,
-  /* TODO: Add fastcall support for the sake of completeness */
-  FFI_DEFAULT_ABI = FFI_SYSV
-
-#elif defined(X86_WIN64)
-  FFI_WIN64,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_WIN64
-
-#else
-  /* ---- Intel x86 and AMD x86-64 - */
-  FFI_SYSV,
-  FFI_UNIX64,   /* Unix variants all use the same ABI for x86-64  */
-  FFI_LAST_ABI,
-#if defined(__i386__) || defined(__i386)
-  FFI_DEFAULT_ABI = FFI_SYSV
-#else
-  FFI_DEFAULT_ABI = FFI_UNIX64
-#endif
-#endif
-} ffi_abi;
-#endif
-
-/* ---- Definitions for closures ----------------------------------------- */
-
-#define FFI_CLOSURES 1
-#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
-#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
-#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
-
-#if defined (X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
-#define FFI_TRAMPOLINE_SIZE 24
-#define FFI_NATIVE_RAW_API 0
-#else
-#ifdef X86_WIN32
-#define FFI_TRAMPOLINE_SIZE 52
-#else
-#ifdef X86_WIN64
-#define FFI_TRAMPOLINE_SIZE 29
-#define FFI_NATIVE_RAW_API 0
-#define FFI_NO_RAW_API 1
-#else
-#define FFI_TRAMPOLINE_SIZE 10
-#endif
-#endif
-#ifndef X86_WIN64
-#define FFI_NATIVE_RAW_API 1   /* x86 has native raw api support */
-#endif
-#endif
-
-#endif
-
diff --git a/.pc/x86_abi_check_fix/.timestamp b/.pc/x86_abi_check_fix/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/x86_abi_check_fix/ChangeLog b/.pc/x86_abi_check_fix/ChangeLog
deleted file mode 100644 (file)
index 0c825e9..0000000
+++ /dev/null
@@ -1,4764 +0,0 @@
-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-23  Anthony Green  <green@moxielogic.com>
-
-       * src/*/ffitarget.h: Ensure that users never include ffitarget.h
-       directly.
-
-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.
-
-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * 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.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/x86_abi_check_fix/src/prep_cif.c b/.pc/x86_abi_check_fix/src/prep_cif.c
deleted file mode 100644 (file)
index f50a63c..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-/* -----------------------------------------------------------------------
-   prep_cif.c - Copyright (c) 2011, 2012  Anthony Green
-                Copyright (c) 1996, 1998, 2007  Red Hat, Inc.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   ``Software''), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-   DEALINGS IN THE SOFTWARE.
-   ----------------------------------------------------------------------- */
-
-#include <ffi.h>
-#include <ffi_common.h>
-#include <stdlib.h>
-
-/* Round up to FFI_SIZEOF_ARG. */
-
-#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
-
-/* Perform machine independent initialization of aggregate type
-   specifications. */
-
-static ffi_status initialize_aggregate(ffi_type *arg)
-{
-  ffi_type **ptr;
-
-  if (UNLIKELY(arg == NULL || arg->elements == NULL))
-    return FFI_BAD_TYPEDEF;
-
-  arg->size = 0;
-  arg->alignment = 0;
-
-  ptr = &(arg->elements[0]);
-
-  if (UNLIKELY(ptr == 0))
-    return FFI_BAD_TYPEDEF;
-
-  while ((*ptr) != NULL)
-    {
-      if (UNLIKELY(((*ptr)->size == 0)
-                   && (initialize_aggregate((*ptr)) != FFI_OK)))
-       return FFI_BAD_TYPEDEF;
-
-      /* Perform a sanity check on the argument type */
-      FFI_ASSERT_VALID_TYPE(*ptr);
-
-      arg->size = ALIGN(arg->size, (*ptr)->alignment);
-      arg->size += (*ptr)->size;
-
-      arg->alignment = (arg->alignment > (*ptr)->alignment) ?
-       arg->alignment : (*ptr)->alignment;
-
-      ptr++;
-    }
-
-  /* Structure size includes tail padding.  This is important for
-     structures that fit in one register on ABIs like the PowerPC64
-     Linux ABI that right justify small structs in a register.
-     It's also needed for nested structure layout, for example
-     struct A { long a; char b; }; struct B { struct A x; char y; };
-     should find y at an offset of 2*sizeof(long) and result in a
-     total size of 3*sizeof(long).  */
-  arg->size = ALIGN (arg->size, arg->alignment);
-
-  if (arg->size == 0)
-    return FFI_BAD_TYPEDEF;
-  else
-    return FFI_OK;
-}
-
-#ifndef __CRIS__
-/* The CRIS ABI specifies structure elements to have byte
-   alignment only, so it completely overrides this functions,
-   which assumes "natural" alignment and padding.  */
-
-/* Perform machine independent ffi_cif preparation, then call
-   machine dependent routine. */
-
-/* For non variadic functions isvariadic should be 0 and
-   nfixedargs==ntotalargs.
-
-   For variadic calls, isvariadic should be 1 and nfixedargs
-   and ntotalargs set as appropriate. nfixedargs must always be >=1 */
-
-
-ffi_status FFI_HIDDEN ffi_prep_cif_core(ffi_cif *cif, ffi_abi abi,
-                            unsigned int isvariadic,
-                             unsigned int nfixedargs,
-                             unsigned int ntotalargs,
-                            ffi_type *rtype, ffi_type **atypes)
-{
-  unsigned bytes = 0;
-  unsigned int i;
-  ffi_type **ptr;
-
-  FFI_ASSERT(cif != NULL);
-  FFI_ASSERT((!isvariadic) || (nfixedargs >= 1));
-  FFI_ASSERT(nfixedargs <= ntotalargs);
-
-#ifndef X86_WIN32
-  if (! (abi > FFI_FIRST_ABI) && (abi <= FFI_LAST_ABI))
-    return FFI_BAD_ABI;
-#else
-  if (! (abi > FFI_FIRST_ABI && abi < FFI_LAST_ABI || abi == FFI_THISCALL))
-    return FFI_BAD_ABI;
-#endif
-
-  cif->abi = abi;
-  cif->arg_types = atypes;
-  cif->nargs = ntotalargs;
-  cif->rtype = rtype;
-
-  cif->flags = 0;
-
-  /* Initialize the return type if necessary */
-  if ((cif->rtype->size == 0) && (initialize_aggregate(cif->rtype) != FFI_OK))
-    return FFI_BAD_TYPEDEF;
-
-  /* Perform a sanity check on the return type */
-  FFI_ASSERT_VALID_TYPE(cif->rtype);
-
-  /* x86, x86-64 and s390 stack space allocation is handled in prep_machdep. */
-#if !defined M68K && !defined X86_ANY && !defined S390 && !defined PA
-  /* Make space for the return structure pointer */
-  if (cif->rtype->type == FFI_TYPE_STRUCT
-#ifdef SPARC
-      && (cif->abi != FFI_V9 || cif->rtype->size > 32)
-#endif
-     )
-    bytes = STACK_ARG_SIZE(sizeof(void*));
-#endif
-
-  for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
-    {
-
-      /* Initialize any uninitialized aggregate type definitions */
-      if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
-       return FFI_BAD_TYPEDEF;
-
-      /* Perform a sanity check on the argument type, do this
-        check after the initialization.  */
-      FFI_ASSERT_VALID_TYPE(*ptr);
-
-#if !defined X86_ANY && !defined S390 && !defined PA
-#ifdef SPARC
-      if (((*ptr)->type == FFI_TYPE_STRUCT
-          && ((*ptr)->size > 16 || cif->abi != FFI_V9))
-         || ((*ptr)->type == FFI_TYPE_LONGDOUBLE
-             && cif->abi != FFI_V9))
-       bytes += sizeof(void*);
-      else
-#endif
-       {
-         /* Add any padding if necessary */
-         if (((*ptr)->alignment - 1) & bytes)
-           bytes = ALIGN(bytes, (*ptr)->alignment);
-
-         bytes += STACK_ARG_SIZE((*ptr)->size);
-       }
-#endif
-    }
-
-  cif->bytes = bytes;
-
-  /* Perform machine dependent cif processing */
-#ifdef FFI_TARGET_SPECIFIC_VARIADIC
-  if (isvariadic)
-       return ffi_prep_cif_machdep_var(cif, nfixedargs, ntotalargs);
-#endif
-
-  return ffi_prep_cif_machdep(cif);
-}
-#endif /* not __CRIS__ */
-
-ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
-                            ffi_type *rtype, ffi_type **atypes)
-{
-  return ffi_prep_cif_core(cif, abi, 0, nargs, nargs, rtype, atypes);
-}
-
-ffi_status ffi_prep_cif_var(ffi_cif *cif,
-                            ffi_abi abi,
-                            unsigned int nfixedargs,
-                            unsigned int ntotalargs,
-                            ffi_type *rtype,
-                            ffi_type **atypes)
-{
-  return ffi_prep_cif_core(cif, abi, 1, nfixedargs, ntotalargs, rtype, atypes);
-}
-
-#if FFI_CLOSURES
-
-ffi_status
-ffi_prep_closure (ffi_closure* closure,
-                 ffi_cif* cif,
-                 void (*fun)(ffi_cif*,void*,void**,void*),
-                 void *user_data)
-{
-  return ffi_prep_closure_loc (closure, cif, fun, user_data, closure);
-}
-
-#endif
diff --git a/.pc/x86_pcrel_test/.timestamp b/.pc/x86_pcrel_test/.timestamp
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/.pc/x86_pcrel_test/ChangeLog b/.pc/x86_pcrel_test/ChangeLog
deleted file mode 100644 (file)
index 732fb99..0000000
+++ /dev/null
@@ -1,4551 +0,0 @@
-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  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-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-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-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-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.
-       * configure: Regenerate.
-       * fficonfig.h.in: Likewise.
-       * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
-       Solaris/x86.
-
-2009-12-26  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
-       when a float arguments is passed in memory.
-       (ffi_closure_helper_SYSV): Mark general registers as used up when
-       a 64bit or soft-float long double argument is passed in memory.
-
-2009-12-25  Matthias Klose  <doko@ubuntu.com>
-
-       * man/ffi_call.3: Fix #include in examples.
-       * doc/libffi.texi: Add dircategory.
-
-2009-12-25  Frank Everdij <f.p.x.everdij@tudelft.nl>
-
-       * include/ffi.h.in: Placed '__GNUC__' ifdef around
-       '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
-       IRIX MIPSPro c99.
-       * include/ffi_common.h: Added '__sgi' define to non
-       '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
-       ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
-       (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
-       FFI_LONGDOUBLE support and alignment(N32 only).
-       * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
-       fixed non '__attribute__((__mode__()))' integer typedefs.
-       * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
-       since they are Linux/GNU Assembler specific.
-
-2009-12-25  Bradley Smith  <brad@brad-smith.co.uk>
-
-       * configure.ac, Makefile.am, src/avr32/ffi.c,
-       src/avr32/ffitarget.h,
-       src/avr32/sysv.S: Add AVR32 port.
-       * configure, Makefile.in: Rebuilt.
-
-2009-12-21  Andreas Tobler  <a.tobler@schweiz.org>
-
-       * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
-       * configure: Regenerate.
-
-2009-12-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
-
-2009-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
-       type on HP-UX.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
-       double' arguments.
-
-2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
-
-2009-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-       PR libffi/40700
-       * src/closures.c [X86_64 && __sun__ && __svr4__]
-       (FFI_MMAP_EXEC_WRIT): Define.
-
-2009-12-08  David Daney  <ddaney@caviumnetworks.com>
-
-       * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
-       * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
-       * testsuite/libffi.call/stret_large.c: Same.
-       * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
-       * testsuite/libffi.call/stret_large2.c: Same.
-       * testsuite/libffi.call/stret_medium2.c: Same.
-
-2009-12-07  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
-       typo.
-
-2009-12-05  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
-       code.
-       * src/powerpc/aix_closure.S: Same.
-
-2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.in: Regenerate.
-       * configure: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
-       linux64_closure.S.
-
-2009-12-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       PR libffi/41908
-       * src/x86/ffi64.c (classify_argument): Update from
-       gcc/config/i386/i386.c.
-       (ffi_closure_unix64_inner): Do not use the address of two consecutive
-       SSE registers directly.
-       * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
-       for x86_64 linux targets.
-
-2009-12-04  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
-       pfr for long double split between fpr13 and stack.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
-       fparg_count twice for long double.
-
-2009-12-03  David Edelsohn  <edelsohn@gnu.org>
-
-       PR libffi/42243
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
-
-2009-12-03  Uros Bizjak  <ubizjak@gmail.com>
-
-       * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
-       Remove xfails for x86 linux targets.
-
-2009-12-02  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
-       case.
-
-2009-12-01  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
-       register usage.  Call ffi_prep_args directly.  Add long double
-       return value support.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
-       applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
-       Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
-       (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
-       mode.
-       (ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
-       into case.
-       * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
-       Allocate result area between params and FPRs.
-
-2009-11-30  David Edelsohn  <edelsohn@gnu.org>
-
-       PR target/35484
-       * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
-       AIX64.
-       * src/powerpc/aix.S: Implement AIX64 version.
-       * src/powerpc/aix_closure.S: Implement AIX64 version.
-       (ffi_closure_ASM): Use extsb, lha and displament addresses.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
-       support.
-       (ffi_prep_cif_machdep): Same.
-       (ffi_call): Same.
-       (ffi_closure_helper_DARWIN): Same.
-
-2009-11-02  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/41908
-       * testsuite/libffi.call/testclosure.c: New test.
-
-2009-09-28  Kai Tietz  <kai.tietz@onevision.com>
-
-       * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
-       assembly version use of ___chkstk.
-
-2009-09-23  Matthias Klose  <doko@ubuntu.com>
-
-       PR libffi/40242, PR libffi/41443
-       * src/arm/sysv.S (__ARM_ARCH__): Define for processors
-       __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
-       __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
-       Change the conditionals to __SOFTFP__ || __ARM_EABI__
-       for -mfloat-abi=softfp to work.
-
-2009-09-17  Loren J. Rittle  <ljrittle@acm.org>
-
-       PR testsuite/32843 (strikes again)
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
-       enable proper extension on char and short.
-
-2009-09-15  David Daney  <ddaney@caviumnetworks.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
-       handling for FFI_TYPE_POINTER.
-       * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
-       FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
-       FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
-       FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
-       (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
-       (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
-       * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
-       structure and pointer returns.
-       (ffi_closure_N32): Add handling for pointer returns.
-       * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
-       calc_n32_return_struct_flags): Handle soft-float.
-       (ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
-       (ffi_call_N32): Declare proper argument types.
-       (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
-       soft-float.
-
-2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (AC_PREREQ): Bump to 2.64.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * Makefile.am (install-html, install-pdf): Remove.
-       * Makefile.in: Regenerate.
-
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * man/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
-
-2009-07-24  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       PR libffi/40807
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
-       return types for X86_WIN32.
-       * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
-       (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
-       _ffi_closure_STDCALL): Likewise.
-
-       * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
-       (dlmmap, dlmunmap): Also use these functions on Cygwin.
-
-2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
-
-       PR testsuite/40699
-       PR testsuite/40707
-       PR testsuite/40709
-       * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
-       2009-06-30 commits.
-
-2009-07-01  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
-       to "" before adding paths.  (This reinstates an assignment that
-       was removed by my 2009-06-30 commit, but changes the initial
-       value from "." to "".)
-
-2009-07-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR testsuite/40601
-       * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
-       gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
-       empty.
-
-2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
-       to ld_library_path.  Use add_path.  Add just find_libgcc_s
-       to ld_library_path, not every libgcc multilib directory.
-
-2009-06-16  Wim Lewis  <wiml@hhhh.org>
-
-       * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
-       supposed to be callee-saved.
-       * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
-       return buffer for odd-size structs.
-
-2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
-
-       PR libffi/40444
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
-       allow_stack_execute for Darwin.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * configure.ac (TARGETDIR): Add missing blank lines.
-       * configure: Regenerate.
-
-2009-06-16  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       * testsuite/libffi.call/ffitest.h,
-       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
-
-2009-06-15  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
-       * testsuite/libffi.call/err_bad_abi.c: Likewise.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * Makefile.am: Remove info_TEXINFOS.
-
-2009-06-12  Andrew Haley  <aph@redhat.com>
-
-       * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
-       testsuite/libffi.call/cls_align_uint64.c,
-       testsuite/libffi.call/cls_ulonglong.c,
-       testsuite/libffi.call/return_ll1.c,
-       testsuite/libffi.call/stret_medium2.c: Fix printf format
-       specifiers.
-       testsuite/libffi.special/unwindtest.cc: include stdint.h.
-
-2009-06-11  Timothy Wall  <twall@users.sf.net>
-
-       * Makefile.am,
-       configure.ac,
-       include/ffi.h.in,
-       include/ffi_common.h,
-       src/closures.c,
-       src/dlmalloc.c,
-       src/x86/ffi.c,
-       src/x86/ffitarget.h,
-       src/x86/win64.S (new),
-       README: Added win64 support (mingw or MSVC)
-       * Makefile.in,
-       include/Makefile.in,
-       man/Makefile.in,
-       testsuite/Makefile.in,
-       configure,
-       aclocal.m4: Regenerated
-       * ltcf-c.sh: properly escape cygwin/w32 path
-       * man/ffi_call.3: Clarify size requirements for return value.
-       * src/x86/ffi64.c: Fix filename in comment.
-       * src/x86/win32.S: Remove unused extern.
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_12byte.c,
-       testsuite/libffi.call/cls_16byte.c,
-       testsuite/libffi.call/cls_18byte.c,
-       testsuite/libffi.call/cls_19byte.c,
-       testsuite/libffi.call/cls_1_1byte.c,
-       testsuite/libffi.call/cls_20byte.c,
-       testsuite/libffi.call/cls_20byte1.c,
-       testsuite/libffi.call/cls_24byte.c,
-       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.special/unwindtest.cc: use ffi_closure_alloc instead
-       of checking for MMAP.  Use intptr_t instead of long casts.
-
-2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
-       * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
-
-2009-06-09  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/freebsd.S: Add missing file.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       Import from libffi 3.0.8:
-
-       * doc/libffi.texi: New file.
-       * doc/libffi.info: Likewise.
-       * doc/stamp-vti: Likewise.
-       * man/Makefile.am: New file.
-       * man/ffi_call.3: New file.
-
-       * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
-       src/dlmalloc.c.
-       (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
-
-       * configure.ac: Bump version to 3.0.8.
-       parisc*-*-linux*: Add.
-       i386-*-freebsd* | i386-*-openbsd*: Add.
-       powerpc-*-beos*: Add.
-       AM_CONDITIONAL X86_FREEBSD: Add.
-       AC_CONFIG_FILES: Add man/Makefile.
-
-       * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * README: Import from libffi 3.0.8.
-
-2009-06-08  Andrew Haley  <aph@redhat.com>
-
-       * testsuite/libffi.call/err_bad_abi.c: Add xfails.
-       * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
-       * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
-       * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
-
-       * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
-       * testsuite/libffi.call/stret_medium.c: Likewise.
-       * testsuite/libffi.call/stret_large2.c: Likewise.
-       * testsuite/libffi.call/stret_large.c:  Likewise.
-
-2008-12-26  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/cls_longdouble.c,
-       testsuite/libffi.call/cls_longdouble_va.c,
-       testsuite/libffi.call/cls_align_longdouble.c,
-       testsuite/libffi.call/cls_align_longdouble_split.c,
-       testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
-       failures on x86_64 cygwin/mingw.
-
-2008-12-22  Timothy Wall  <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_fn0.c,
-       testsuite/libffi.call/closure_fn1.c,
-       testsuite/libffi.call/closure_fn2.c,
-       testsuite/libffi.call/closure_fn3.c,
-       testsuite/libffi.call/closure_fn4.c,
-       testsuite/libffi.call/closure_fn5.c,
-       testsuite/libffi.call/closure_fn6.c,
-       testsuite/libffi.call/closure_loc_fn0.c,
-       testsuite/libffi.call/closure_stdcall.c,
-       testsuite/libffi.call/cls_align_pointer.c,
-       testsuite/libffi.call/cls_pointer.c,
-       testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
-       pointer to integer (intptr_t).
-       * testsuite/libffi.call/cls_longdouble.c: disable for win64.
-
-2008-07-24  Anthony Green  <green@redhat.com>
-
-       * testsuite/libffi.call/cls_dbls_struct.c,
-       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,
-       testsuite/libffi.call/err_bad_abi.c: Clean up failures from
-       compiler warnings.
-
-2008-03-04  Anthony Green  <green@redhat.com>
-           Blake Chaffin
-           hos@tamanegi.org
-
-       * testsuite/libffi.call/cls_align_longdouble_split2.c
-         testsuite/libffi.call/cls_align_longdouble_split.c
-         testsuite/libffi.call/cls_dbls_struct.c
-         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
-         testsuite/libffi.call/err_bad_abi.c
-         testsuite/libffi.call/err_bad_typedef.c
-         testsuite/libffi.call/stret_large2.c
-         testsuite/libffi.call/stret_large.c
-         testsuite/libffi.call/stret_medium2.c
-         testsuite/libffi.call/stret_medium.c: New tests from Apple.
-
-2009-06-05  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
-       libffi.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
-       stdcall changes.
-
-2008-02-26  Anthony Green  <green@redhat.com>
-           Thomas Heller  <theller@ctypes.org>
-
-       * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
-       comment.
-
-2008-02-03  Timothy Wall  <twall@users.sf.net>
-
-       * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
-         offset based on code pointer, not data pointer.
-
-2008-01-31  Timothy Wall <twall@users.sf.net>
-
-       * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
-       closures.
-       * src/x86/ffitarget.h: Increase size of trampoline for stdcall
-       closures.
-       * src/x86/win32.S: Add assembly for stdcall closure.
-       * src/x86/ffi.c: Initialize stdcall closure trampoline.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Change void (*)() to void (*)(void).
-       * src/x86/ffi.c: Likewise.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ppc_closure.S: Insert licence header.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/m68k/sysv.S: Likewise.
-
-       * src/sh64/ffi.c: Change void (*)() to void (*)(void).
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/m32r/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi64.c: Likewise.
-       * src/alpha/ffi.c: Likewise.
-       * src/alpha/osf.S: Likewise.
-       * src/frv/ffi.c: Likewise.
-       * src/s390/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/pa/hpux32.S: Likewise.
-       * src/ia64/unix.S: Likewise.
-       * src/ia64/ffi.c: Likewise.
-       * src/sparc/ffi.c: Likewise.
-       * src/mips/ffi.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-
-2008-02-15  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
-       Define (conditionally), and use it to include cachectl.h.
-       (ffi_prep_closure_loc): Fix cache flushing.
-       * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
-
-2009-06-04  Andrew Haley  <aph@redhat.com>
-
-       include/ffi.h.in,
-       src/arm/ffitarget.h,
-       src/arm/ffi.c,
-       src/arm/sysv.S,
-       src/powerpc/ffitarget.h,
-       src/closures.c,
-       src/sh64/ffitarget.h,
-       src/sh64/ffi.c,
-       src/sh64/sysv.S,
-       src/types.c,
-       src/x86/ffi64.c,
-       src/x86/ffitarget.h,
-       src/x86/win32.S,
-       src/x86/darwin.S,
-       src/x86/ffi.c,
-       src/x86/sysv.S,
-       src/x86/unix64.S,
-       src/alpha/ffitarget.h,
-       src/alpha/ffi.c,
-       src/alpha/osf.S,
-       src/m68k/ffitarget.h,
-       src/frv/ffitarget.h,
-       src/frv/ffi.c,
-       src/s390/ffitarget.h,
-       src/s390/sysv.S,
-       src/cris/ffitarget.h,
-       src/pa/linux.S,
-       src/pa/ffitarget.h,
-       src/pa/ffi.c,
-       src/raw_api.c,
-       src/ia64/ffitarget.h,
-       src/ia64/unix.S,
-       src/ia64/ffi.c,
-       src/ia64/ia64_flags.h,
-       src/java_raw_api.c,
-       src/debug.c,
-       src/sparc/v9.S,
-       src/sparc/ffitarget.h,
-       src/sparc/ffi.c,
-       src/sparc/v8.S,
-       src/mips/ffitarget.h,
-       src/mips/n32.S,
-       src/mips/o32.S,
-       src/mips/ffi.c,
-       src/prep_cif.c,
-       src/sh/ffitarget.h,
-       src/sh/ffi.c,
-       src/sh/sysv.S: Update license text.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
-       (.eh_frame):  Add FDE for it.
-
-2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
-
-       * configure.ac:  Also check if assembler supports pc-relative
-       relocs on X86_WIN32 targets.
-       * configure:  Regenerate.
-       * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
-       (_ffi_call_SYSV):  Add missing function type symbol .def and
-       add EH markup labels.
-       (_ffi_call_STDCALL):  Likewise.
-       (_ffi_closure_SYSV):  Likewise.
-       (_ffi_closure_raw_SYSV):  Likewise.
-       (.eh_frame):  Add hand-crafted EH data.
-
-2009-04-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
-       version 3 of the GNU General Public License and to point readers
-       at the COPYING3 file and the FSF's license web page.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.special/special.exp: Likewise.
-
-2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libffi/26048
-       * configure.ac (HAVE_AS_X86_PCREL): New test.
-       * configure: Regenerate.
-       * fficonfig.h.in: Regenerate.
-       * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
-       RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
-       RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-       * src/x86/unix64.S (.Lstore_table): Move to .text section.
-       (.Lload_table): Likewise.
-       (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
-
-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
-       Makefile.am.
-
-2006-10-31  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
-       (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
-       Darwin.
-       * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
-       * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
-
-2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
-           Sandro Tolaini  <tolaini@libero.it>
-
-       * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
-       conditional.
-       * configure: Regenerated.
-       * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
-       (EXTRA_DIST): Add src/x86/darwin.S.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
-       X86_WIN32, and additionally align stack to 16 bytes.
-       * src/x86/darwin.S: New, based on sysv.S.
-       * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
-
-2006-09-12  David Daney  <ddaney@avtrex.com>
-
-       PR libffi/23935
-       * include/Makefile.am: Install both ffi.h and ffitarget.h in
-       $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
-       * aclocal.m4: Regenerated for automake 1.9.6.
-       * Makefile.in: Regenerated.
-       * include/Makefile.in: Regenerated.
-       * testsuite/Makefile.in: Regenerated.
-
-2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h (struct): Revert accidental commit.
-
-2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * include/ffi_common.h: Remove lint directives.
-       * include/ffi.h.in: Likewise.
-
-2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
-
-       * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
-       for 32-bit architectures.
-       * testsuite/libffi.call/return_ul.c: New test case.
-
-2006-07-19  David Daney  <ddaney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
-       xfail remains for mips64.
-
-2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
-
-       * Makefile.am: Add install-html target. Add install-html to .PHONY
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
-       stack slot.
-
-2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * README: Remove notice about 'Crazy Comments'.
-       * src/debug.c: Remove lint directives. Cleanup white spaces.
-       * src/java_raw_api.c: Likewise.
-       * src/prep_cif.c: Likewise.
-       * src/raw_api.c: Likewise.
-       * src/ffitest.c: Delete. No longer needed, all test cases migrated
-       to the testsuite.
-       * src/arm/ffi.c: Remove lint directives.
-       * src/m32r/ffi.c: Likewise.
-       * src/pa/ffi.c: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-       * src/sh/ffi.c: Likewise.
-       * src/sh64/ffi.c: Likewise.
-       * src/x86/ffi.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-
-2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/pa/hpux32.S: Correct unwind offset calculation for
-       ffi_closure_pa32.
-       * src/pa/linux.S: Likewise.
-
-2006-04-12  James E Wilson  <wilson@specifix.com>
-
-       PR libgcj/26483
-       * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
-       (hfa_type_load): Call stf_spill.
-       (hfa_type_store): Call ldf_fill.
-       (ffi_call): Adjust calls to above routines.  Add local temps for
-       macro result.
-
-2006-04-10  Matthias Klose  <doko@debian.org>
-
-       * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
-       directory names containing underscores.
-
-2006-04-07  James E Wilson  <wilson@specifix.com>
-
-       * testsuite/libffi.call/float4.c: New testcase.
-
-2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add PA_HPUX port.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add PA_HPUX rules.
-       * configure: Regenerate.
-       * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
-       Add PA_HPUX and PA64_HPUX.
-       Rename FFI_LINUX ABI to FFI_PA32 ABI.
-       (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
-       (FFI_TYPE_SMALL_STRUCT2): Define.
-       (FFI_TYPE_SMALL_STRUCT4): Likewise.
-       (FFI_TYPE_SMALL_STRUCT8): Likewise.
-       (FFI_TYPE_SMALL_STRUCT3): Redefine.
-       (FFI_TYPE_SMALL_STRUCT5): Likewise.
-       (FFI_TYPE_SMALL_STRUCT6): Likewise.
-       (FFI_TYPE_SMALL_STRUCT7): Likewise.
-       * src/pa/ffi.c (ROUND_DOWN): Delete.
-       (fldw, fstw, fldd, fstd): Use '__asm__'.
-       (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
-       FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
-       (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
-       Simplify incrementing of stack slot variable. Change type of local
-       'n' to unsigned int.
-       (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
-       double on PA_HPUX.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
-       return type to ffi_status. Simplify incrementing of stack slot
-       variable. Only copy floating point argument registers when PA_LINUX
-       is true. Reformat debug statement.
-       Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
-       FFI_TYPE_SMALL_STRUCT8.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
-       declaration.
-       (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
-       Add nops to cache flush.  Add trampoline for PA_HPUX.
-       * src/pa/hpux32.S: New file.
-       * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
-       ffi_prep_args_LINUX to ffi_prep_args_pa32.
-       Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
-       unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
-       argument type checks so that common argument types appear first.
-       (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
-       ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
-
-2006-03-24  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
-       for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
-       FFI_TYPE_LONGDOUBLE.
-       (ffi_prep_args64): Assert using IBM extended double.
-       (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
-       Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
-       (ffi_call): Handle FFI_LINUX.
-       (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
-       gpr3 return pointer as for struct return.  Handle FFI_LINUX
-       FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
-       unnecessarily.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
-       for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
-       Don't use r6 as pointer to results, instead use sp offset.  Don't
-       make a special call to load lr with case table address, instead
-       use offset from previous call.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
-       return.
-
-2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
-       passed with FP registers correctly.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S: Likewise.
-
-2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
-       args and userdata unused.
-       (closure_test_fn1): Mark cif and userdata unused.
-       (main): Remove unused res.
-
-2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
-       -O2, -O3, -Os and the warning flags -W -Wall.
-       * testsuite/libffi.special/special.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
-       unused parameter unused for gcc or else do nothing.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
-       * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
-       * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
-       * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
-       * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
-       * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
-       * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
-       * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
-       * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
-       * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
-       void* to avoid compiler warning.
-       (main): Likewise.
-       (cls_struct_align_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
-       Likewise.
-       * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
-       * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
-       data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
-       and data unused.
-       (main): Cast res_call to silence gcc.
-       * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
-       userdata unused.
-       (cls_ret_schar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
-       userdata unused.
-       (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
-       userdata unused.
-       (cls_ret_uint_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
-       and userdata unused.
-       * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
-       userdata unused.
-       (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
-       * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
-       * testsuite/libffi.call/float1.c (main): Remove unused variable i.
-       Cleanup white spaces.
-       * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
-       * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
-       cif and userdata unused.
-       * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
-       Likewise.
-       * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
-       formatters to silence gcc.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct4.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct6.c: Mention related PR.
-       (B_gn): Mark cif and userdata unused.
-       * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
-       unused.
-       * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
-       * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
-       * testsuite/libffi.call/problem1.c (stub): Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
-       gcc.
-       * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
-       in the last commit for this test case in the test case itself.
-       * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
-       unused.
-       * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
-       * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
-       * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
-       * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
-       * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
-       * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
-
-2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Fix register numbers in the FDE for
-       ffi_closure_SYSV.
-
-2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
-       declaration to avoid a false negative on ix86. See PR323.
-
-2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
-       and cast integer to void * if needed.  Update the pointer to
-       the FP register saved area correctly.
-
-2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
-       is fixed.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/return_dbl.c: New test case.
-       * testsuite/libffi.call/return_dbl1.c: Likewise.
-       * testsuite/libffi.call/return_dbl2.c: Likewise.
-       * testsuite/libffi.call/return_fl.c: Likewise.
-       * testsuite/libffi.call/return_fl1.c: Likewise.
-       * testsuite/libffi.call/return_fl2.c: Likewise.
-       * testsuite/libffi.call/return_fl3.c: Likewise.
-       * testsuite/libffi.call/closure_fn6.c: Likewise.
-
-       * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
-       definition.
-       * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
-       here to be used by other test cases too.
-
-       * testsuite/libffi.call/nested_struct10.c: New test case.
-       * testsuite/libffi.call/nested_struct9.c: Likewise.
-       * testsuite/libffi.call/nested_struct8.c: Likewise.
-       * testsuite/libffi.call/nested_struct7.c: Likewise.
-       * testsuite/libffi.call/nested_struct6.c: Likewise.
-       * testsuite/libffi.call/nested_struct5.c: Likewise.
-       * testsuite/libffi.call/nested_struct4.c: Likewise.
-
-2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.ac: Enable libffi for sparc64-*-freebsd*.
-       * configure: Rebuilt.
-
-2006-01-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
-       instead do the shifting inline.
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
-       shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
-       and 8 byte structs, for the remaining struct sizes don't call
-       __lshrdi3, instead do the shifting inline.
-
-2005-12-07  Thiemo Seufer  <ths@networkno.de>
-
-       * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
-       missing parentheses.
-       * src/mips/o32.S (ffi_call_O32): Code formatting. Define
-       and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
-       (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
-       A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
-       V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
-       FA_0_0_OFF2.
-       * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
-       endianness bugs.
-       (ffi_prep_closure): Improve trampoline instruction scheduling.
-       (ffi_closure_mips_inner_O32): Fix endianness bugs.
-
-2005-12-03  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c: Formatting.
-       (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
-       (ffi_prep_args64): Likewise.
-
-2005-09-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
-       darwin, use -shared-libgcc not -lgcc_s, and explain why.
-
-2005-09-26  Tom Tromey  <tromey@redhat.com>
-
-       * testsuite/libffi.call/float1.c (value_type): New typedef.
-       (CANARY): New define.
-       (main): Check for result buffer overflow.
-       * src/powerpc/linux64.S: Handle linux64 long double returns.
-       * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
-       (ffi_prep_cif_machdep): Handle linux64 long double returns.
-
-2005-08-25  Alan Modra  <amodra@bigpond.net.au>
-
-       PR target/23404
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
-       homed fp args.
-       (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
-
-2005-08-11  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
-       (AH_BOTTOM): Add FFI_HIDDEN definition.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Remove.
-       (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
-       ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
-       .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
-       * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
-       add FFI_HIDDEN to its prototype.
-       (ffi_closure_SYSV_inner): New.
-       * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-       * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
-
-2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
-
-       PR libffi/21819:
-       * configure: Rebuilt.
-       * configure.ac: Handle i*86-*-gnu*.
-
-2005-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
-       DW_CFA_offset_extended_sf rather than
-       DW_CFA_GNU_negative_offset_extended.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
-
-2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
-       on sh3.
-       (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
-       * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
-       partially on register.
-       (ffi_closure_helper_SYSV): Likewise.
-       (ffi_prep_cif_machdep): Don't set too many cif->flags.
-
-2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_call): Handle small structures correctly.
-       Remove empty line.
-       * src/sh64/ffi.c (simple_type): Remove.
-       (return_type): Handle small structures correctly.
-       (ffi_prep_args): Likewise.
-       (ffi_call): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
-       Emit position independent code if PIC and remove wrong datalabel
-       prefixes from EH data.
-
-2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * configure.ac: Add POWERPC_FREEBSD rules.
-       * configure: Regenerate.
-       * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
-       (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
-       * src/powerpc/ffi.c: Add flags to handle small structure returns
-       in ffi_call_SYSV.
-       (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
-       Aka FFI_SYSV.
-       (ffi_closure_helper_SYSV): Likewise.
-       * src/powerpc/ppc_closure.S: Add return types for small structures.
-       * src/powerpc/sysv.S: Add bits to handle small structures for
-       final SYSV 4 ABI.
-
-2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_5_1_byte.c: New test file.
-       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
-       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
-
-2005-07-05  Randolph Chung  <tausq@debian.org>
-
-       * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
-       as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
-       structures.  Kill compilation warnings.
-       (ffi_closure_inner_LINUX): Print return values as hex in debug
-       message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
-       Properly handle 5-7 byte structure returns.
-       * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
-       (FFI_TYPE_SMALL_STRUCT2): Remove.
-       (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
-       (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
-       * src/pa/linux.S: Mark source file as using PA1.1 assembly.
-       (checksmst1, checksmst2): Remove.
-       (checksmst3): Optimize handling of 3-byte struct returns.
-       (checksmst567): Properly handle 5-7 byte struct returns.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       PR libgcj/21943
-       * src/mips/n32.S: Enforce PIC code.
-       * src/mips/o32.S: Likewise.
-
-2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
-       * configure: Regenerate.
-
-2005-06-01  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
-       to call ffi_closure_helper_SYSV.  Append @local instead.
-       * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
-
-2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
-       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
-       * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
-       * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
-       include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2005-05-09  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-05-08  Richard Henderson  <rth@redhat.com>
-
-       PR libffi/21285
-       * src/alpha/osf.S: Update unwind into to match code.
-
-2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
-           Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
-       bit 11 of flags.
-       (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
-       (ffi_prep_closure): Set carry bit if sse-used flag set.
-       * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
-       Only load sse registers if ssecount non-zero.
-       (ffi_closure_unix64): Only save sse registers if carry set on entry.
-
-2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
-
-       * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
-       powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
-       * configure: Regenerate.
-
-2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
-       have Tcl8.3-compatible intermediate variable.
-
-2005-04-18  Simon Posnjak <simon.posnjak@siol.net>
-           Hans-Peter Nilsson  <hp@axis.com>
-
-       * Makefile.am: Add CRIS support.
-       * configure.ac: Likewise.
-       * Makefile.in, configure, testsuite/Makefile.in,
-       include/Makefile.in: Regenerate.
-       * src/cris: New directory.
-       * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
-       * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
-
-       * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
-       \r?\n in output tests.
-
-2005-04-12  Mike Stump  <mrs@apple.com>
-
-       * configure: Regenerate.
-
-2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
-
-2005-03-30  Steve Ellcey  <sje@cup.hp.com>
-
-       * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
-       (ffi_sarg) Ditto.
-       * src/ia64/unix.S (ffi_closure_unix): Extend gp
-       to 64 bits in ILP32 mode.
-       Load 64 bits even for short data.
-
-2005-03-23  Mike Stump  <mrs@apple.com>
-
-       * src/powerpc/darwin.S: Update for -m64 multilib.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2005-03-21  Zack Weinberg  <zack@codesourcery.com>
-
-       * configure.ac: Do not invoke TL_AC_GCC_VERSION.
-       Do not set tool_include_dir.
-       * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
-       Regenerate.
-       * include/Makefile.am: Set gcc_version and toollibffidir.
-       * include/Makefile.in: Regenerate.
-
-2005-02-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
-       odd-numbered register pairs for 64-bit integer types.
-
-2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR libffi/20104
-       * testsuite/libffi.call/return_ll1.c: New test case.
-
-2005-02-11  Janis Johnson  <janis187@us.ibm.com>
-
-       * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
-       * testsuite/libffi.call/float.c: Ditto.
-       * testsuite/libffi.call/float2.c: Ditto.
-       * testsuite/libffi.call/float3.c: Ditto.
-
-2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
-
-2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * testsuite/libffi.special/special.exp (cxx_options): Add
-       -shared-libgcc.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
-       (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
-       offset parameters with a type parameter; deduce size and structure
-       alignment.  Update all users.
-
-2004-12-31  Richard Henderson  <rth@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
-       (FFI_TYPE_LONGDOUBLE): Fix for ia64.
-       * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
-       into ffi_prep_closure.
-       * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
-       from scratch.
-
-2004-12-27  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/unix64.S: Fix typo in unwind info.
-
-2004-12-25  Richard Henderson  <rth@redhat.com>
-
-       * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
-       (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
-       (merge_classes): Check for it.
-       (SSE_CLASS_P): New.
-       (classify_argument): Pass byte_offset by value; perform all updates
-       inside struct case.
-       (examine_argument): Add classes argument; handle
-       X86_64_COMPLEX_X87_CLASS.
-       (ffi_prep_args): Merge into ...
-       (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
-       (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
-       (ffi_fill_return_value): Remove.
-       (ffi_prep_closure): Remove dead assert.
-       (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
-       Rewrite to use struct register_args instead of va_list.  Create
-       flags for handling structure returns.
-       * src/x86/unix64.S: Remove dead strings.
-       (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
-       stack frame with ffi_call.  Handle structure returns properly.
-       (float2sse, floatfloat2sse, double2sse): Remove.
-       (sse2float, sse2double, sse2floatfloat): Remove.
-       (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
-       to handle structure returns properly.
-
-2004-12-08  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
-       PICFLAG.
-       * Makefile.in: Regenerated.
-
-2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
-
-       * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
-       * configure, aclocal.m4, Makefile.in: Regenerate.
-       * include/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool reversion.
-
-2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * configure: Regenerate for libtool change.
-
-2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-       * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
-
-2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
-
-       * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
-       of jal.  Use an absolute encoding for the frame information.
-
-2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
-
-       * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
-       * acinclude.m4: Delete logic for sincludes.
-       * aclocal.m4, Makefile.in, configure: Regenerate.
-       * include/Makefile: Likewise.
-       * testsuite/Makefile: Likewise.
-
-2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
-       on a 8-byte boundary.
-       * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
-       long long values.  Round stack allocation to a multiple of 8 bytes
-       for ATPCS compatibility.
-       * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
-       names.  Handle returning long long types.  Add Thumb and interworking
-       support.  Improve soft-float code.
-
-2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
-
-       * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
-       (libffi_exit): New function.
-       (libffi_init): Build the testglue wrapper if needed.
-
-2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       PR other/18138
-       * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
-
-2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
-       * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
-
-2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
-       * testsuite/libffi.call/float3.c: New test case.
-
-2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
-       the function returning a structure pointed with R2.
-       * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
-       the structure return value if T bit set.  Emit position
-       independent code and EH data if PIC.
-
-2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
-
-       * Makefile.am: Add m32r support.
-       * configure.ac: Likewise.
-       * Makefile.in: Regenerate.
-       * confiugre: Regenerate.
-       * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
-       (uint64, sint64, double, longdouble)
-       * src/m32r: New directory.
-       * src/m32r/ffi.c: New file.
-       * src/m32r/sysv.S: Likewise.
-       * src/m32r/ffitarget.h: Likewise.
-
-2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * testsuite/libffi.call/negint.c: New test case.
-
-2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR libgcj/17465
-       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
-       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
-       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
-       DYLD_LIBRARY_PATH.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/many_win32.c: Remove whitespaces.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
-       whitespaces.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-
-2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Fix comments and identation.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
-       (ffi_prep_args): Handle longdouble arguments.
-       (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
-       longdouble.
-       (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
-       * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
-       values.
-       * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
-       * src/types.c: Defined longdouble size and alignment for darwin.
-
-2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/aix.S: Remove whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-       * src/powerpc/asm.h: Likewise.
-       * src/powerpc/ffi.c: Likewise.
-       * src/powerpc/ffitarget.h: Likewise.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.
-       * src/powerpc/ppc_closure.S: Likewise.
-       * src/powerpc/sysv.S: Likewise.
-
-2004-08-30  Anthony Green  <green@redhat.com>
-
-       * Makefile.am: Add frv support.
-       * Makefile.in, testsuite/Makefile.in: Rebuilt.
-       * configure.ac: Read configure.host.
-       * configure.in: Read configure.host.
-       * configure.host: New file.  frv-elf needs libgloss.
-       * include/ffi.h.in: Force ffi_closure to have a nice big (8)
-       alignment.  This is needed to frv and shouldn't harm the others.
-       * include/ffi_common.h (ALIGN_DOWN): New macro.
-       * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
-
-2004-08-24  David Daney  <daney@avtrex.com>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c  Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
-       to zero.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-
-2004-08-23  David Daney <daney@avtrex.com>
-
-       PR libgcj/13141
-       * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
-       * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
-       (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
-       parameters and return types.
-       (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
-       alignment calculations.
-       * src/mips/o32.S (ffi_closure_O32): Don't use floating point
-       instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
-
-2004-08-14  Casey Marshall <csm@gnu.org>
-
-       * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
-       contain `FFI_TYPE_UINT64' as return type for any 64-bit
-       integer (O32 ABI only).
-       (ffi_prep_closure): new function.
-       (ffi_closure_mips_inner_O32): new function.
-       * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
-       `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
-       * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
-       64 bit integers correctly.
-       (ffi_closure_O32): new function.
-       Added DWARF-2 unwind info for both functions.
-
-2004-08-10  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
-
-2004-08-01  Robert Millan  <robertmh@gnu.org>
-
-       * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
-       * configure: Regenerate.
-
-2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
-
-       * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
-       and mmap() explicitly instead of relying on preset autoconf cache
-       variables.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-
-2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
-       (ffi_check_float_struct): Remove unused prototype.
-
-2004-06-30  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
-       character on Darwin, use '\n\t' instead.
-
-2004-06-26  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: Fix typo in revision/age.
-
-2004-06-17  Matthias Klose  <doko@debian.org>
-
-       * libtool-version: New.
-       * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
-       * Makefile.in: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am: Remove useless multilib rules.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate with automake 1.8.5.
-       * configure.ac: Remove useless multilib configury.
-       * configure: Regenerate.
-
-2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
-
-       * .cvsignore: New file.
-
-2004-06-10  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
-       fp_done.
-       (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
-       changed from 8.
-
-2004-06-06  Sean McNeil  <sean@mcneil.com>
-
-       * configure.ac: Add x86_64-*-freebsd* support.
-       * configure: Regenerate.
-
-2004-04-26  Joe Buck <jbuck@welsh-buck.org>
-
-       Bug 15093
-       * configure.ac: Test for existence of mmap and sys/mman.h before
-       checking blacklist.  Fix suggested by Jim Wilson.
-       * configure: Regenerate.
-
-2004-04-26  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
-       FDE location.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
-       error. Reported by Thomas Heller <theller@python.net>.
-       * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
-
-2004-03-20  Matthias Klose  <doko@debian.org>
-
-       * src/pa/linux.S: Fix typo.
-
-2004-03-19  Matthias Klose  <doko@debian.org>
-
-       * Makefile.am: Update.
-       * Makefile.in: Regenerate.
-       * src/pa/ffi.h.in: Remove.
-       * src/pa/ffitarget.h: New file.
-
-2004-02-10  Randolph Chung  <tausq@debian.org>
-
-       * Makefile.am: Add PA support.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * configure.ac: Add PA target.
-       * configure: Regenerate.
-       * src/pa/ffi.c: New file.
-       * src/pa/ffi.h.in: Add PA support.
-       * src/pa/linux.S: New file.
-       * prep_cif.c: Add PA support.
-
-2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
-
-       * src/types.c: Fix alignment size of X86_WIN32 case int64 and
-       double.
-       * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
-       with ecif->cif->flags.
-       (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
-       with cif->flags.
-       (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
-       (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
-       * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
-       sc_retstruct2b): Add for 1 or 2-bytes struct case.
-
-2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
-
-       * configure.in: Rename file to ...
-       * configure.ac: ... this.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.in: Regenerate.
-       * include/Makefile.in: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
-
-2004-03-12  Matt Austern  <austern@apple.com>
-
-       * src/powerpc/darwin.S: Fix EH information so it corresponds to
-       changes in EH format resulting from addition of linkonce support.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
-           Paolo Bonzini  <bonzini@gnu.org>
-
-       * Makefile.am (AUTOMAKE_OPTIONS): Set them.
-       Remove VPATH. Remove rules for object files. Remove multilib support.
-       (AM_CCASFLAGS): Add.
-       * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
-       (AC_PREREQ): Bump version to 2.59.
-       (AC_INIT): Fill with version info and bug address.
-       (ORIGINAL_LD_FOR_MULTILIBS): Remove.
-       (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
-       De-precious CC so that the right flags are passed down to multilibs.
-       (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
-       (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
-       (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
-       * configure: Rebuilt.
-       * aclocal.m4: Likewise.
-       * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2004-03-11  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
-       arguments from fp registers only for the first 8 parameter slots.
-       Don't convert a float parameter when passed in memory.
-
-2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for config/accross.m4 correction.
-
-2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
-
-       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
-       ecif->cif->bytes to bytes.
-       (ffi_prep_cif_machdep): Add braces around nested if statement.
-
-2004-02-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (pointer): POWERPC64 has 8 byte pointers.
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
-       (ffi_closure_helper_LINUX64): Fix typo.
-       * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
-       for powerpc64-*-*.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-
-2004-02-08  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
-       long double function return and long double arg handling.
-       (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
-       Use "end_pfr" instead of "nf".  Correct long double handling.
-       Localise "temp".
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
-       return value.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
-       space for long double return value.  Adjust stack frame and offsets.
-       Load f2 long double return.
-
-2004-02-07  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c: Use 16 byte long double for POWERPC64.
-
-2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-       * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
-       when the structure return address is passed in %o0.
-       (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
-       (ffi_v9_layout_struct): Align the field following a nested structure
-       on a word boundary.  Use memmove instead of memcpy.
-       (ffi_call): Update call to ffi_V9_return_struct.
-       (ffi_prep_closure): Define 'ctx' only for V8.
-       (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
-       and ffi_closure_sparc_inner_v9.
-       (ffi_closure_sparc_inner_v8): Return long doubles by reference.
-       Always skip the structure return address.  For structures and long
-       doubles, copy the argument directly.
-       (ffi_closure_sparc_inner_v9): Skip the structure return address only
-       if required.  Shift the maximum floating-point slot accordingly.  For
-       big structures, copy the argument directly; otherwise, left-justify the
-       argument and call ffi_v9_layout_struct to lay out the structure on
-       the stack.
-       * src/sparc/v8.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v8): Pass the structure return address.  Update call to
-       ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
-       Skip the 'unimp' insn when returning long doubles and structures.
-       * src/sparc/v9.S: Undef STACKFRAME before defining it.
-       (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
-       FFI_TYPE_INT handling.  Load structures both in integers and
-       floating-point registers on return.
-       * README: Update status of the SPARC port.
-
-2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
-       as of type ffi_arg.
-       * testsuite/libffi.call/struct3.c (main): Fix CHECK.
-
-2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
-       value as of type ffi_arg, not unsigned int.
-
-2004-01-21  Michael Ritzert  <ritzert@t-online.de>
-
-       * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
-       of the LHS.
-
-2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
-       Solaris.
-
-2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
-       to void *.
-
-2003-12-10  Richard Henderson  <rth@redhat.com>
-
-       * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
-       size_t instead of int.
-
-2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
-
-       * testsuite/libffi.call/many_win32.c: Include <float.h>.
-       * testsuite/libffi.call/many_win32.c (main): Replace variable
-       int i with unsigned long ul.
-
-       * testsuite/libffi.call/cls_align_uint64.c: New test case.
-       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
-       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
-       * testsuite/libffi.call/cls_align_float.c: Likewise.
-       * testsuite/libffi.call/cls_align_double.c: Likewise.
-       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
-       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
-
-2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
-
-       PR other/13221
-       * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
-       Align arguments to 32 bits.
-
-2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       PR other/13221
-       * testsuite/libffi.call/cls_multi_sshort.c: New test case.
-       * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_schar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
-       * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Cosmetics.
-
-2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-
-2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.in: Rebuilt.
-       * configure: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
-       the right type.
-
-2003-11-21  Andreas Jaeger  <aj@suse.de>
-           Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
-       * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
-       * Makefile.in: Rebuilt.
-       * aclocal.m4: Likewise.
-       * configure: Likewise.
-       * fficonfig.h.in: Likewise.
-       * testsuite/lib/libffi-dg.exp: Add include dir.
-       * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
-       for ffi_closure if available.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
-
-2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
-       Add -lgcc_s to additional flags.
-
-2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in, include/Makefile.am: PR libgcj/11147, install
-       the ffitarget.h header file in a gcc versioned and target
-       dependent place.
-       * configure: Regenerated.
-       * Makefile.in, include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-
-2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Print result and check
-       with dg-output to make debugging easier.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_9byte2.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-
-       * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
-       static.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_9byte2.c: New test case.
-       * testsuite/libffi.call/cls_9byte1.c: Likewise.
-       * testsuite/libffi.call/cls_64byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte1.c: Likewise.
-       * testsuite/libffi.call/cls_19byte.c: Likewise.
-       * testsuite/libffi.call/cls_18byte.c: Likewise.
-       * testsuite/libffi.call/closure_fn4.c: Likewise.
-       * testsuite/libffi.call/closure_fn5.c: Likewise.
-       * testsuite/libffi.call/cls_schar.c: Likewise.
-       * testsuite/libffi.call/cls_sint.c: Likewise.
-       * testsuite/libffi.call/cls_sshort.c: Likewise.
-       * testsuite/libffi.call/nested_struct2.c: Likewise.
-       * testsuite/libffi.call/nested_struct3.c: Likewise.
-
-2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/cls_double.c: Do a check on the result.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
-
-2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/prep_cif.c (ffi_prep_cif): Move the validity check after
-       the initialization.
-
-2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
-       FFI_ASSERT(FALSE) with FFI_ASSERT(0).
-
-2003-10-22  David Daney  <ddaney@avtrex.com>
-
-       * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
-       __attribute__((__mode__(__SI__))) and friends.
-
-2003-10-22  Andreas Schwab  <schwab@suse.de>
-
-       * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
-
-2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * configure.in: AC_LINK_FILES(ffitarget.h).
-       * configure: Regenerate.
-       * Makefile.in: Likewise.
-       * include/Makefile.in: Likewise.
-       * testsuite/Makefile.in: Likewise.
-       * fficonfig.h.in: Likewise.
-
-2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
-           Richard Henderson  <rth@redhat.com>
-
-       Avoid that ffi.h includes fficonfig.h.
-
-       * Makefile.am (EXTRA_DIST): Include ffitarget.h files
-       (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (TARGET_SRC_MIPS_SGI): Removed.
-       (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
-       (MIPS_SGI): Removed.
-       (CLEANFILES): Removed.
-       (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
-       targets.
-       * acconfig.h: Removed.
-       * configure.in: Compute sizeofs only for double and long double.
-       Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
-       into AC_DEFINE instead of using acconfig.h.  Create
-       include/ffitarget.h instead of include/fficonfig.h.  Rename
-       MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
-       AC_DEFINE EH_FRAME_FLAGS.
-       * include/Makefile.am (DISTCLEANFILES): New automake macro.
-       (hack_DATA): Add ffitarget.h.
-       * include/ffi.h.in: Remove all system specific definitions.
-       Declare raw API even if it is not installed, why bother?
-       Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
-       not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
-       ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
-       (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
-       * include/ffi_common.h (bool): Do not define.
-       (ffi_assert): Accept failed assertion.
-       (ffi_type_test): Return void and accept file/line.
-       (FFI_ASSERT): Pass stringized failed assertion.
-       (FFI_ASSERT_AT): New macro.
-       (FFI_ASSERT_VALID_TYPE): New macro.
-       (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
-       UINT64, SINT64): Define here with gcc's __attribute__ macro
-       instead of in ffi.h
-       (FLOAT32, ALIGN): Define here instead of in ffi.h
-       * include/ffi-mips.h: Removed.  Its content moved to
-       src/mips/ffitarget.h after separating assembly and C sections.
-       * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
-       src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
-       src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
-       src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
-       SIZEOF_ARG -> FFI_SIZEOF_ARG.
-       * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
-       * src/debug.c (ffi_assert): Accept stringized failed assertion.
-       (ffi_type_test): Rewritten.
-       * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
-       FFI_ASSERT_VALID_TYPE.
-       * src/alpha/ffitarget.h, src/arm/ffitarget.h,
-       src/ia64/ffitarget.h, src/m68k/ffitarget.h,
-       src/mips/ffitarget.h, src/powerpc/ffitarget.h,
-       src/s390/ffitarget.h, src/sh/ffitarget.h,
-       src/sh64/ffitarget.h, src/sparc/ffitarget.h,
-       src/x86/ffitarget.h: New files.
-       * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
-       src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
-       src/powerpc/aix.S, src/powerpc/darwin.S,
-       src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
-       src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
-       src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
-       src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
-       src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
-       include fficonfig.h
-
-2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
-       _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
-
-2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
-       Used when FFI_DEBUG = 1.
-
-2003-10-14  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
-       and align.
-
-2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
-       FFI_MIPS_O32 for O32 ABI.
-
-2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
-       SPARC64. Cleanup whitespaces.
-
-2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
-       strongarm, xscale. Cleanup whitespaces.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
-
-2003-09-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/aix.S: Cleanup whitespaces.
-       * src/powerpc/aix_closure.S: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c: Likewise.
-
-2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
-       * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
-       parameter stack.
-       * src/powerpc/darwin_closure.S: Likewise.
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
-       according to the Darwin/AIX ABI.
-       (ffi_prep_cif_machdep): Likewise.
-       (ffi_closure_helper_DARWIN): Likewise.
-       Remove the outgoing parameter stack logic. Simplify the evaluation
-       of the different CASE types.
-       (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
-       statement in the trampoline code.
-
-2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
-       for the register size.
-       (ffi_closure_helper_SYSV): Handle the structure return value
-       address correctly.
-       (ffi_closure_helper_SYSV): Return the appropriate type when
-       the registers are used for the structure return value.
-       * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
-       the 64-bit return value.  Update copyright years.
-
-2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
-       srcdir for ffi_mips.h.
-
-2003-09-12  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/prep_cif.c (initialize_aggregate): Include tail padding in
-       structure size.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
-       placement of float result.
-       * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
-       cast of "resp" for big-endian 64 bit machines.
-
-2003-09-11  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/types.c (double, longdouble): Merge identical SH and ARM
-       typedefs, and add POWERPC64.
-       * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
-       struct split over gpr and rest.
-       (ffi_prep_cif_machdep): Correct intarg_count for structures.
-       * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
-
-2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
-       passing correctly.
-
-2003-09-09  Alan Modra  <amodra@bigpond.net.au>
-
-       * configure: Regenerate.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Remove build rules for ffitest.
-       * Makefile.in: Rebuilt.
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
-       about implicit declaration of abort().
-
-2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
-       * Makefile.in: Rebuilt.
-       * configure.in: Add dejagnu test framework.
-       * configure: Rebuilt.
-
-       * testsuite/Makefile.am: New file.
-       * testsuite/Makefile.in: Built
-       * testsuite/lib/libffi-dg.exp: New file.
-       * testsuite/config/default.exp: Likewise.
-       * testsuite/libffi.call/call.exp: Likewise.
-       * testsuite/libffi.call/ffitest.h: Likewise.
-       * testsuite/libffi.call/closure_fn0.c: Likewise.
-       * testsuite/libffi.call/closure_fn1.c: Likewise.
-       * testsuite/libffi.call/closure_fn2.c: Likewise.
-       * testsuite/libffi.call/closure_fn3.c: Likewise.
-       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
-       * testsuite/libffi.call/cls_2byte.c: Likewise.
-       * testsuite/libffi.call/cls_3byte1.c: Likewise.
-       * testsuite/libffi.call/cls_3byte2.c: Likewise.
-       * testsuite/libffi.call/cls_4byte.c: Likewise.
-       * testsuite/libffi.call/cls_5byte.c: Likewise.
-       * testsuite/libffi.call/cls_6byte.c: Likewise.
-       * testsuite/libffi.call/cls_7byte.c: Likewise.
-       * testsuite/libffi.call/cls_8byte.c: Likewise.
-       * testsuite/libffi.call/cls_12byte.c: Likewise.
-       * testsuite/libffi.call/cls_16byte.c: Likewise.
-       * testsuite/libffi.call/cls_20byte.c: Likewise.
-       * testsuite/libffi.call/cls_24byte.c: Likewise.
-       * testsuite/libffi.call/cls_double.c: Likewise.
-       * testsuite/libffi.call/cls_float.c: Likewise.
-       * testsuite/libffi.call/cls_uchar.c: Likewise.
-       * testsuite/libffi.call/cls_uint.c: Likewise.
-       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
-       * testsuite/libffi.call/cls_ushort.c: Likewise.
-       * testsuite/libffi.call/float.c: Likewise.
-       * testsuite/libffi.call/float1.c: Likewise.
-       * testsuite/libffi.call/float2.c: Likewise.
-       * testsuite/libffi.call/many.c: Likewise.
-       * testsuite/libffi.call/many_win32.c: Likewise.
-       * testsuite/libffi.call/nested_struct.c: Likewise.
-       * testsuite/libffi.call/nested_struct1.c: Likewise.
-       * testsuite/libffi.call/pyobjc-tc.c: Likewise.
-       * testsuite/libffi.call/problem1.c: Likewise.
-       * testsuite/libffi.call/promotion.c: Likewise.
-       * testsuite/libffi.call/return_ll.c: Likewise.
-       * testsuite/libffi.call/return_sc.c: Likewise.
-       * testsuite/libffi.call/return_uc.c: Likewise.
-       * testsuite/libffi.call/strlen.c: Likewise.
-       * testsuite/libffi.call/strlen_win32.c: Likewise.
-       * testsuite/libffi.call/struct1.c: Likewise.
-       * testsuite/libffi.call/struct2.c: Likewise.
-       * testsuite/libffi.call/struct3.c: Likewise.
-       * testsuite/libffi.call/struct4.c: Likewise.
-       * testsuite/libffi.call/struct5.c: Likewise.
-       * testsuite/libffi.call/struct6.c: Likewise.
-       * testsuite/libffi.call/struct7.c: Likewise.
-       * testsuite/libffi.call/struct8.c: Likewise.
-       * testsuite/libffi.call/struct9.c: Likewise.
-       * testsuite/libffi.special/special.exp: New file.
-       * testsuite/libffi.special/ffitestcxx.h: Likewise.
-       * testsuite/libffi.special/unwindtest.cc: Likewise.
-
-
-2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
-       copyright years.
-
-2003-08-02  Alan Modra  <amodra@bigpond.net.au>
-
-       * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
-       structure passing.
-       (ffi_closure_helper_LINUX64): Likewise.
-       * src/powerpc/linux64.S: Remove code writing to parm save area.
-       * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
-       address in lr from ffi_closure_helper_LINUX64 call to calculate
-       table address.  Optimize function tail.
-
-2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/sparc/ffi.c: Handle all floating point registers.
-       * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
-
-2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
-
-       * README: Note that libffi is not part of GCC.  Update the project
-       URL and status.
-
-2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Include ffi.h.
-
-2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
-       Use C style comments.
-
-2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-       * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SHmedia support.
-       * src/sh64/ffi.c: New file.
-       * src/sh64/sysv.S: New file.
-
-2003-05-16  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
-       should be read-only.
-       * configure: Rebuilt.
-       * fficonfig.h.in: Rebuilt.
-       * include/ffi.h.in (EH_FRAME_FLAGS): Define.
-       * src/alpha/osf.S: Use EH_FRAME_FLAGS.
-       * src/powerpc/linux64.S: Likewise.
-       * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
-       * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
-       if -fpic/-fPIC/-mrelocatable.
-       * src/powerpc/powerpc_closure.S: Likewise.
-       * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
-       #write in .eh_frame flags.
-       * src/sparc/v9.S: Likewise.
-       * src/x86/unix64.S: Use EH_FRAME_FLAGS.
-       * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
-       * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
-
-2003-05-07  Jeff Sturm  <jsturm@one-point.com>
-
-       Fixes PR bootstrap/10656
-       * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
-       support for .register pseudo-op.
-       * src/sparc/v8.S: Use it.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2003-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (POWERPC64): Define if 64-bit.
-       (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
-       Make it the default on POWERPC64.
-       (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
-       * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
-       * configure: Rebuilt.
-       * src/powerpc/ffi.c (hidden): Define.
-       (ffi_prep_args_SYSV): Renamed from
-       ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
-       (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
-       ASM_NEEDS_REGISTERS64): New.
-       (ffi_prep_args64): New function.
-       (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
-       (ffi_call): Likewise.
-       (ffi_prep_closure): Likewise.
-       (flush_icache): Surround by #ifndef POWERPC64.
-       (ffi_dblfl): New union type.
-       (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
-       (ffi_closure_helper_LINUX64): New function.
-       * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
-       __powerpc64__.
-       * src/powerpc/sysv.S: Likewise.
-       (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
-       * src/powerpc/linux64.S: New file.
-       * src/powerpc/linux64_closure.S: New file.
-       * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
-       src/powerpc/linux64_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-       * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
-       closure_test_fn3): Fix result printing on big-endian 64-bit
-       machines.
-       (main): Print tst2_arg instead of uninitialized tst2_result.
-
-       * src/ffitest.c (main): Hide what closure pointer really points to
-       from the compiler.
-
-2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
-
-       * configure.in (arm-*-netbsdelf*): Add configuration.
-       (configure): Regenerated.
-
-2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
-
-       * include/Makefile.in: Regenerate.
-
-2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
-
-       * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
-       bit mode.
-       * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
-       Receive closure pointer through parameter, read args using
-       __builtin_dwarf_cfa.
-       (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
-
-2003-03-12  Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Avoid trailing /. in toolexeclibdir.
-       * configure: Rebuilt.
-
-2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
-
-2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/powerpc/darwin_closure.S:
-       Fix alignement bug, allocate 8 bytes for the result.
-       * libffi/src/powerpc/aix_closure.S:
-       Likewise.
-       * libffi/src/powerpc/ffi_darwin.c:
-       Update stackframe description for aix/darwin_closure.S.
-
-2003-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
-       attribute.
-
-2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
-           Andreas Schwab  <schwab@suse.de>
-
-       * configure.in: Adjust command to source config-ml.in to account
-       for changes to the libffi_basedir definition.
-       (libffi_basedir): Remove ${srcdir} from value and include trailing
-       slash if nonempty.
-
-       * configure: Regenerate.
-
-2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
-
-       * src/powerpc/ppc_closure.S: Recode to fit shared libs.
-
-2003-01-28  Andrew Haley  <aph@redhat.com>
-
-       * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
-       * src/x86/ffi64.c (ffi_prep_closure): New.
-       (ffi_closure_UNIX64_inner): New.
-       * src/x86/unix64.S (ffi_closure_UNIX64): New.
-
-2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
-       Remove USE_LIBDIR conditional.
-       * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
-       * Makefile.in, configure: Rebuilt.
-
-2003-01027  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
-       * Makefile.in: Regenerate.
-
-2003-01-22  Andrew Haley  <aph@redhat.com>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
-       unwind info.
-
-2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/darwin.S: Add unwind info.
-       * src/powerpc/darwin_closure.S: Likewise.
-
-2003-01-14  Andrew Haley  <aph@redhat.com>
-
-       * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
-       (ffi_prep_cif_machdep): Likewise.
-       * src/x86/unix64.S: Add unwind info.
-
-2003-01-14  Andreas Jaeger  <aj@suse.de>
-
-       * src/ffitest.c (main): Only use ffi_closures if those are
-       supported.
-
-2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
-
-       * libffi/src/ffitest.c
-        add closure testcases
-
-2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
-
-       * libffi/src/powerpc/ffi.c
-        fix alignment bug for float (4 byte aligned iso 8 byte)
-
-2003-01-09  Geoffrey Keating  <geoffk@apple.com>
-
-       * src/powerpc/ffi_darwin.c: Remove RCS version string.
-       * src/powerpc/darwin.S: Remove RCS version string.
-
-2003-01-03  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
-       * src/ffitest.c (main): Use static storage for closure.
-       * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
-       * src/sparc/v8.S (ffi_closure_v8): New.
-       * src/sparc/v9.S (ffi_closure_v9): New.
-
-2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
-
-       * include/ffi.h.in: Added FFI_STDCALL ffi_type
-         enumeration for X86_WIN32.
-       * src/x86/win32.S: Added ffi_call_STDCALL function
-         definition.
-       * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
-         switch cases for recognising FFI_STDCALL and
-         calling ffi_call_STDCALL if target is X86_WIN32.
-       * src/ffitest.c (my_stdcall_strlen/stdcall_many):
-         stdcall versions of the "my_strlen" and "many"
-         test functions (for X86_WIN32).
-         Added test cases to test stdcall invocation using
-         these functions.
-
-2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * src/sh/sysv.S: Add DWARF2 unwind info.
-
-2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Make section read-only.
-
-2002-11-26  Jim Wilson  <wilson@redhat.com>
-
-       * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
-
-2002-11-23  H.J. Lu <hjl@gnu.org>
-
-       * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
-       Include ../config/accross.m4.
-       * aclocal.m4; Rebuild.
-       * configure: Likewise.
-
-2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
-
-2002-11-11  DJ Delorie  <dj@redhat.com>
-
-       * configure.in: Look for common files in the right place.
-
-2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
-       raw data as _Jv_word values, not ffi_raw.
-       (ffi_java_ptrarray_to_raw): Likewise.
-       (ffi_java_rvalue_to_raw): New function.
-       (ffi_java_raw_call): Call it.
-       (ffi_java_raw_to_rvalue): New function.
-       (ffi_java_translate_args): Call it.
-       * src/ffitest.c (closure_test_fn): Interpret return value
-       as ffi_arg, not int.
-       * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
-       FFI_TYPE_POINTER case.
-       (ffi_closure_helper_SYSV): Likewise.  Also, assume return
-       values extended to word size.
-
-2002-10-02  Andreas Jaeger  <aj@suse.de>
-
-       * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
-
-2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
-
-       * include/ffi.h.in: Fix i386 win32 compilation.
-
-2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * configure.in: Add s390x-*-linux-* target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Define S390X for s390x targets.
-       (FFI_CLOSURES): Define for s390/s390x.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
-       * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
-       * src/s390/ffi.c: Major rework of existing code.  Add support for
-       s390x targets.  Add closure support.
-       * src/s390/sysv.S: Likewise.
-
-2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: Fix typo.
-
-2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
-
-       * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
-       has defined __USER_LABEL_PREFIX__, then use it in CNAME.
-       (ffi_call_SYSV): Handle soft-float.
-
-2002-09-27  Bo Thorsen  <bo@suse.de>
-
-       * include/ffi.h.in: Fix multilib x86-64 support.
-
-2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-       * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * configure.in (sh[34]*-*-linux*): Add brackets.
-       * configure: Regenerate.
-
-2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-       * Makefile.am: Add SH support.
-       * Makefile.in: Regenerate.
-       * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add SH support.
-       * src/sh/ffi.c: New file.
-       * src/sh/sysv.S: New file.
-       * src/types.c: Add SH support.
-
-2002-07-16  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi64.c: New file that adds x86-64 support.
-       * src/x86/unix64.S: New file that handles argument setup for
-       x86-64.
-       * src/x86/sysv.S: Don't use this on x86-64.
-       * src/x86/ffi.c: Don't use this on x86-64.
-       Remove unused vars.
-       * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
-       for x86-64.
-       * src/ffitest.c (struct6): New test that tests a special case in
-       the x86-64 ABI.
-       (struct7): Likewise.
-       (struct8): Likewise.
-       (struct9): Likewise.
-       (closure_test_fn): Silence warning about this when it's not used.
-       (main): Add the new tests.
-       (main): Fix a couple of wrong casts and silence some compiler warnings.
-       * include/ffi.h.in: Add x86-64 ABI definition.
-       * fficonfig.h.in: Regenerate.
-       * Makefile.am: Add x86-64 support.
-       * configure.in: Likewise.
-       * Makefile.in: Regenerate.
-       * configure: Likewise.
-
-2002-06-24  Bo Thorsen  <bo@suse.de>
-
-       * src/types.c: Merge settings for similar architectures.
-       Add x86-64 sizes and alignments.
-
-2002-06-23  Bo Thorsen  <bo@suse.de>
-
-       * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
-       * src/mips/ffi.c (ffi_prep_args): Likewise.
-       * src/m68k/ffi.c (ffi_prep_args): Likewise.
-
-2002-07-18  H.J. Lu  (hjl@gnu.org)
-
-       * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
-       (libffi_la_SOURCES): Support MIPS_LINUX.
-       (libffi_convenience_la_SOURCES): Likewise.
-       * Makefile.in: Regenerated.
-
-       * configure.in (mips64*-*): Skip.
-       (mips*-*-linux*): New.
-       * configure: Regenerated.
-
-       * src/mips/ffi.c: Include <sgidefs.h>.
-
-2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
-
-       * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
-
-2002-05-27  Roger Sayle  <roger@eyesopen.com>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
-
-2002-05-27  Bo Thorsen  <bo@suse.de>
-
-       * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
-       fix formatting.
-
-2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
-       beginning of function (for older apple cc).
-
-2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
-       script entry, and set LD to it when configuring multilibs.
-       * configure: Rebuilt.
-
-2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (sparc64-*-netbsd*): Add target.
-       (sparc-*-netbsdelf*): Likewise.
-       * configure: Regenerate.
-
-2002-04-28  David S. Miller  <davem@redhat.com>
-
-       * configure.in, configure: Fix SPARC test in previous change.
-
-2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
-
-       * Makefile.am: Add Linux for S/390 support.
-       * Makefile.in: Regenerate.
-       * configure.in: Add Linux for S/390 support.
-       * configure: Regenerate.
-       * include/ffi.h.in: Add Linux for S/390 support.
-       * src/s390/ffi.c: New file from libffi CVS tree.
-       * src/s390/sysv.S: New file from libffi CVS tree.
-
-2002-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
-       %r_disp32().
-       * src/sparc/v8.S: Use it.
-       * src/sparc/v9.S: Likewise.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-
-2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
-
-       * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
-       correctly.
-       * src/ia64/unix.S: Add unwind information. Fix comments.
-       Save sp in a way that's compatible with unwind info.
-       (ffi_call_unix): Correctly restore sp in all cases.
-       * src/ia64/ffi.c: Add, fix comments.
-
-2002-04-08  Jakub Jelinek  <jakub@redhat.com>
-
-       * src/sparc/v8.S: Make .eh_frame dependent on target word size.
-
-2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
-
-       * configure.in (alpha*-*-netbsd*): Add target.
-       * configure: Regenerate.
-
-2002-04-04  Jeff Sturm  <jsturm@one-point.com>
-
-       * src/sparc/v8.S: Add unwind info.
-       * src/sparc/v9.S: Likewise.
-
-2002-03-30  Krister Walfridsson  <cato@df.lth.se>
-
-       * configure.in: Enable i*86-*-netbsdelf*.
-       * configure: Rebuilt.
-
-2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
-
-       PR other/2620
-       * src/mips/n32.s: Delete
-       * src/mips/o32.s: Delete
-
-2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
-
-       * configure.in: Enable alpha*-*-freebsd*.
-       * configure: Rebuilt.
-
-2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * Makefile.am: libfficonvenience -> libffi_convenience.
-       * Makefile.in: Rebuilt.
-
-       * Makefile.am: Define ffitest_OBJECTS.
-       * Makefile.in: Rebuilt.
-
-2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
-           David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
-       (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
-       (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
-       * Makefile.in: Regenerate.
-       * include/ffi.h.in: Add AIX and Darwin closure definitions.
-       * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
-       (flush_icache, flush_range): New functions.
-       (ffi_closure_helper_DARWIN): New function.
-       * src/powerpc/aix_closure.S: New file.
-       * src/powerpc/darwin_closure.S: New file.
-
-2002-02-24  Jeff Sturm  <jsturm@one-point.com>
-
-       * include/ffi.h.in: Add typedef for ffi_arg.
-       * src/ffitest.c (main): Declare rint with ffi_arg.
-
-2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
-
-       * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
-       number of GPRs for floating-point arguments.
-
-2002-01-31  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Replace CHECK_SIZEOF and endian tests with
-       cross-compiler friendly macros.
-       * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
-       macros.
-
-2002-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-       * src/powerpc/darwin.S (_ffi_call_AIX): New.
-       * src/powerpc/aix.S (ffi_call_DARWIN): New.
-
-2002-01-17  David Edelsohn  <edelsohn@gnu.org>
-
-       * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
-       (TARGET_SRC_POWERPC_AIX): New.
-       (POWERPC_AIX): New stanza.
-       * Makefile.in: Regenerate.
-       * configure.in: Add AIX case.
-       * configure: Regenerate.
-       * include/ffi.h.in (ffi_abi): Add FFI_AIX.
-       * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
-       size.  Fix "long double" support.
-       (ffi_call): Add FFI_AIX case.
-       * src/powerpc/aix.S: New.
-
-2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
-
-       Implement Darwin PowerPC ABI.
-       * configure.in: Handle powerpc-*-darwin*.
-       * Makefile.am: Set source files for POWERPC_DARWIN.
-       * configure: Rebuilt.
-       * Makefile.in: Rebuilt.
-       * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
-       POWERPC_DARWIN.
-       * src/powerpc/darwin.S: New file.
-       * src/powerpc/ffi_darwin.c: New file.
-
-2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/x86/sysv.S: Avoid gas-only .balign directive.
-       Use C style comments.
-
-2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
-       Fixes PR bootstrap/3563.
-
-2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
-
-2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-       * configure.in: Recognize sparc*-sun-* host.
-       * configure: Regenerate.
-
-2001-06-06  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
-
-2001-06-03  Andrew Haley  <aph@redhat.com>
-
-       * src/alpha/osf.S: Add unwind info.
-       * src/powerpc/sysv.S: Add unwind info.
-       * src/powerpc/ppc_closure.S: Likewise.
-
-2000-05-31  Jeff Sturm  <jsturm@one-point.com>
-
-       * configure.in: Fix AC_ARG_ENABLE usage.
-       * configure: Rebuilt.
-
-2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
-
-       * configure.in: Remove warning about beta code.
-       * configure: Rebuilt.
-
-2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
-
-       * src/ia64/unix.S: Restore stack pointer when returning from
-       ffi_closure_UNIX.
-       * src/ia64/ffi.c: Fix typo in comment.
-
-2001-04-18  Jim Wilson  <wilson@redhat.com>
-
-       * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
-       to eliminate RAW DV.
-
-2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * Makefile.am: Make a libtool convenience library.
-       * Makefile.in: Rebuilt.
-
-2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Use different syntax for subdirectory creation.
-       * configure: Rebuilt.
-
-2001-03-27  Jon Beniston  <jon@beniston.com>
-
-       * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
-       * configure: Rebuilt.
-       * Makefile.am: Added X86_WIN32 target support.
-       * Makefile.in: Rebuilt.
-
-       * include/ffi.h.in: Added X86_WIN32 target support.
-
-       * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
-       * src/types.c: Added X86_WIN32 target support.
-
-       * src/x86/win32.S: New file. Based on sysv.S, but with EH
-       stuff removed and made to work with CygWin's gas.
-
-2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * configure.in: Make target subdirectory in build dir.
-       * Makefile.am: Override suffix based rules to specify correct output
-       subdirectory.
-       * Makefile.in: Rebuilt.
-       * configure: Rebuilt.
-
-2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
-
-       * src/powerpc/ppc_closure.S: New file.
-       * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
-       involving long long and register pairs.
-       (ffi_prep_closure): New function.
-       (flush_icache): Likewise.
-       (ffi_closure_helper_SYSV): Likewise.
-       * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
-       (FFI_TRAMPOLINE_SIZE): Likewise.
-       (FFI_NATIVE_RAW_API): Likewise.
-       * Makefile.in: Rebuilt.
-       * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
-       (TARGET_SRC_POWERPC): Likewise.
-
-2001-03-19  Tom Tromey  <tromey@redhat.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (ffitest_LDFLAGS): New macro.
-
-2001-03-02  Nick Clifton  <nickc@redhat.com>
-
-       * include/ffi.h.in: Remove RCS ident string.
-       * include/ffi_mips.h: Remove RCS ident string.
-       * src/debug.c: Remove RCS ident string.
-       * src/ffitest.c: Remove RCS ident string.
-       * src/prep_cif.c: Remove RCS ident string.
-       * src/types.c: Remove RCS ident string.
-       * src/alpha/ffi.c: Remove RCS ident string.
-       * src/alpha/osf.S: Remove RCS ident string.
-       * src/arm/ffi.c: Remove RCS ident string.
-       * src/arm/sysv.S: Remove RCS ident string.
-       * src/mips/ffi.c: Remove RCS ident string.
-       * src/mips/n32.S: Remove RCS ident string.
-       * src/mips/o32.S: Remove RCS ident string.
-       * src/sparc/ffi.c: Remove RCS ident string.
-       * src/sparc/v8.S: Remove RCS ident string.
-       * src/sparc/v9.S: Remove RCS ident string.
-       * src/x86/ffi.c: Remove RCS ident string.
-       * src/x86/sysv.S: Remove RCS ident string.
-
-2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
-
-       * include/ffi.h.in: Change sourceware.cygnus.com references to
-       gcc.gnu.org.
-
-2000-12-09  Richard Henderson  <rth@redhat.com>
-
-       * src/alpha/ffi.c (ffi_call): Simplify struct return test.
-       (ffi_closure_osf_inner): Index rather than increment avalue
-       and arg_types.  Give ffi_closure_osf the raw return value type.
-       * src/alpha/osf.S (ffi_closure_osf): Handle return value type
-       promotion.
-
-2000-12-07  Richard Henderson  <rth@redhat.com>
-
-       * src/raw_api.c (ffi_translate_args): Fix typo.
-       (ffi_prep_closure): Likewise.
-
-       * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
-       FFI_TRAMPOLINE_SIZE.
-       * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
-       cif->bytes for new ffi_call_osf implementation.
-       (ffi_prep_args): Absorb into ...
-       (ffi_call): ... here.  Do all stack allocation here and
-       avoid a callback function.
-       (ffi_prep_closure, ffi_closure_osf_inner): New.
-       * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
-       (ffi_closure_osf): New.
-
-2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
-
-       * config.guess, config.sub, install-sh: Removed.
-       * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
-       * Makefile.in: Rebuilt.
-
-       * acinclude.m4: Include libtool macros from the top level.
-       * aclocal.m4, configure: Rebuilt.
-
-2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
-
-       * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
-       * configure: Rebuilt.
-
-2000-05-11  Scott Bambrough  <scottb@netwinder.org>
-
-       * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
-       memory correctly.  Use conditional instructions, not branches where
-       possible.
-
-2000-05-04  Tom Tromey  <tromey@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: Match `arm*-*-linux-*'.
-       From Chris Dornan <cdornan@arm.com>.
-
-2000-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-       * Makefile.am (SUBDIRS): Define.
-       (AM_MAKEFLAGS): Likewise.
-       (Multilib support.): Add section.
-       * Makefile.in: Rebuilt.
-       * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
-       New variables. Set for gcc using -print-multi-lib. Export them
-       to libtool.
-       (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
-       * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
-       for -shared links.
-       (extra_compiler_flags_value, extra_compiler_flags): Check these
-       for extra compiler options which need to be passed down in
-       compiler_flags.
-
-2000-04-16  Anthony Green  <green@redhat.com>
-
-       * configure: Rebuilt.
-       * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
-
-2000-04-14  Jakub Jelinek  <jakub@redhat.com>
-
-       * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
-       Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
-       * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
-       Replace all void * sizeofs with sizeof(int).
-       Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
-       different than DOUBLE.
-       Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
-       (ffi_prep_args_v9): New function.
-       (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
-       (ffi_V9_return_struct): New function.
-       (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
-       32bit code (not yet cross-arch calls).
-       * src/sparc/v8.S: Add struct return delay nop.
-       Handle long long.
-       * src/sparc/v9.S: New file.
-       * src/prep_cif.c (ffi_prep_cif): Return structure pointer
-       is used on sparc64 only for structures larger than 32 bytes.
-       Pass by reference for structures is done for structure arguments
-       larger than 16 bytes.
-       * src/ffitest.c (main): Use 64bit rint on sparc64.
-       Run long long tests on sparc.
-       * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
-       sparc64.
-       (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
-       on sparc64.
-       * configure.in (sparc-*-linux*): New supported target.
-       (sparc64-*-linux*): Likewise.
-       * configure: Rebuilt.
-       * Makefile.am: Add v9.S to SPARC files.
-       * Makefile.in: Likewise.
-       (LINK): Surround $(CCLD) into double quotes, so that multilib
-       compiles work correctly.
-
-2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
-
-       * configure: Rebuilt.
-       * configure.in: (i*86-*-solaris*): New libffi target. Patch
-       proposed by Bryce McKinlay.
-
-2000-03-20  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Hand edit for java_raw_api.lo.
-
-2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
-
-       * config.guess, config.sub: Update from the gcc tree.
-       Fix for PR libgcj/168.
-
-2000-03-03  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Fixed ia64 by hand.
-
-       * configure: Rebuilt.
-       * configure.in (--enable-multilib): New option.
-       (libffi_basedir): New subst.
-       (AC_OUTPUT): Added multilib code.
-
-2000-03-02  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt.
-       * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
-       directory name.
-
-2000-02-25  Hans Boehm <boehm@acm.org>
-
-       * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
-       files.
-       * src/raw_api.c (ffi_translate_args): Fixed typo in argument
-       list.
-       (ffi_prep_raw_closure): Use ffi_translate_args, not
-       ffi_closure_translate.
-       * src/java_raw_api.c: New file.
-       * src/ffitest.c (closure_test_fn): New function.
-       (main): Define `rint' as long long on IA64.  Added new test when
-       FFI_CLOSURES is defined.
-       * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
-       (ffi_abi): Recognize IA64.
-       (ffi_raw): Added `flt' field.
-       Added "Java raw API" code.
-       * configure.in: Recognize ia64.
-       * Makefile.am (TARGET_SRC_IA64): New macro.
-       (libffi_la_common_SOURCES): Added java_raw_api.c.
-       (libffi_la_SOURCES): Define in IA64 case.
-
-2000-01-04  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.in: Rebuilt with newer automake.
-
-1999-12-31  Tom Tromey  <tromey@cygnus.com>
-
-       * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
-
-1999-09-01  Tom Tromey  <tromey@cygnus.com>
-
-       * include/ffi.h.in: Removed PACKAGE and VERSION defines and
-       undefs.
-       * fficonfig.h.in: Rebuilt.
-       * configure: Rebuilt.
-       * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
-       Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
-       * acconfig.h: Don't #undef PACKAGE or VERSION.
-
-1999-08-09  Anthony Green  <green@cygnus.com>
-
-       * include/ffi.h.in: Try to work around messy header problem
-       with PACKAGE and VERSION.
-
-       * configure: Rebuilt.
-       * configure.in: Change version to 2.00-beta.
-
-       * fficonfig.h.in: Rebuilt.
-       * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
-
-       * src/x86/ffi.c (ffi_raw_call): Rename.
-
-1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
-
-       * src/x86/ffi.c (ffi_closure_SYSV): New function.
-       (ffi_prep_incoming_args_SYSV): Ditto.
-       (ffi_prep_closure): Ditto.
-       (ffi_closure_raw_SYSV): Ditto.
-       (ffi_prep_raw_closure): More ditto.
-       (ffi_call_raw): Final ditto.
-
-       * include/ffi.h.in: Add definitions for closure and raw API.
-
-       * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
-       FFI_TYPE_UINT64.
-
-       * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
-
-       * src/raw_api.c: New file.
-
-       * include/ffi.h.in (ffi_raw): New type.
-       (UINT_ARG, SINT_ARG): New defines.
-       (ffi_closure, ffi_raw_closure): New types.
-       (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
-
-       * configure.in: Add check for endianness and sizeof void*.
-
-       * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
-       instead of directly.
-
-       * configure: Rebuilt.
-
-Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add x86 and powerpc BeOS configurations.
-       From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
-
-1999-05-09  Anthony Green  <green@cygnus.com>
-
-       * configure.in: Add warning about this being beta code.
-       Remove src/Makefile.am from the picture.
-       * configure: Rebuilt.
-
-       * Makefile.am: Move logic from src/Makefile.am.  Add changes
-       to support libffi as a target library.
-       * Makefile.in: Rebuilt.
-
-       * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
-       Upgraded to new autoconf, automake, libtool.
-
-       * README: Tweaks.
-
-       * LICENSE: Update copyright date.
-
-       * src/Makefile.am, src/Makefile.in: Removed.
-
-1998-11-29  Anthony Green  <green@cygnus.com>
-
-       * include/ChangeLog: Removed.
-       * src/ChangeLog: Removed.
-       * src/mips/ChangeLog: Removed.
-       * src/sparc/ChangeLog: Remboved.
-       * src/x86/ChangeLog: Removed.
-
-       * ChangeLog.v1: Created.
diff --git a/.pc/x86_pcrel_test/configure b/.pc/x86_pcrel_test/configure
deleted file mode 100755 (executable)
index 3a3c06f..0000000
+++ /dev/null
@@ -1,16028 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libffi 3.0.11-rc2.
-#
-# Report bugs to <http://github.com/atgreen/libffi/issues>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: http://github.com/atgreen/libffi/issues about your
-$0: system, including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libffi'
-PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.0.11-rc2'
-PACKAGE_STRING='libffi 3.0.11-rc2'
-PACKAGE_BUGREPORT='http://github.com/atgreen/libffi/issues'
-PACKAGE_URL=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-toolexeclibdir
-toolexecdir
-FFI_DEBUG_FALSE
-FFI_DEBUG_TRUE
-TARGETDIR
-TARGET
-sys_symbol_underscore
-HAVE_LONG_DOUBLE
-ALLOCA
-PA64_HPUX_FALSE
-PA64_HPUX_TRUE
-PA_HPUX_FALSE
-PA_HPUX_TRUE
-PA_LINUX_FALSE
-PA_LINUX_TRUE
-SH64_FALSE
-SH64_TRUE
-SH_FALSE
-SH_TRUE
-X86_64_FALSE
-X86_64_TRUE
-S390_FALSE
-S390_TRUE
-FRV_FALSE
-FRV_TRUE
-LIBFFI_CRIS_FALSE
-LIBFFI_CRIS_TRUE
-AVR32_FALSE
-AVR32_TRUE
-ARM_FALSE
-ARM_TRUE
-POWERPC_FREEBSD_FALSE
-POWERPC_FREEBSD_TRUE
-POWERPC_DARWIN_FALSE
-POWERPC_DARWIN_TRUE
-POWERPC_AIX_FALSE
-POWERPC_AIX_TRUE
-POWERPC_FALSE
-POWERPC_TRUE
-MOXIE_FALSE
-MOXIE_TRUE
-M68K_FALSE
-M68K_TRUE
-M32R_FALSE
-M32R_TRUE
-IA64_FALSE
-IA64_TRUE
-ALPHA_FALSE
-ALPHA_TRUE
-X86_DARWIN_FALSE
-X86_DARWIN_TRUE
-X86_WIN64_FALSE
-X86_WIN64_TRUE
-X86_WIN32_FALSE
-X86_WIN32_TRUE
-X86_FREEBSD_FALSE
-X86_FREEBSD_TRUE
-X86_FALSE
-X86_TRUE
-SPARC_FALSE
-SPARC_TRUE
-MIPS_FALSE
-MIPS_TRUE
-AM_LTLDFLAGS
-AM_RUNTESTFLAGS
-TESTSUBDIR_FALSE
-TESTSUBDIR_TRUE
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-CPP
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-am__fastdepCCAS_FALSE
-am__fastdepCCAS_TRUE
-CCASDEPMODE
-CCASFLAGS
-CCAS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_maintainer_mode
-enable_debug
-enable_structs
-enable_raw_api
-enable_purify_safety
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS
-CPP
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures libffi 3.0.11-rc2 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/libffi]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of libffi 3.0.11-rc2:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-                         (and sometimes confusing) to the casual installer
-  --enable-debug          debugging mode
-  --disable-structs       omit code for struct support
-  --disable-raw-api       make the raw api unavailable
-  --enable-purify-safety  purify-safe mode
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CCAS        assembler compiler command (defaults to CC)
-  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <http://github.com/atgreen/libffi/issues>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-libffi configure 3.0.11-rc2
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------------------ ##
-## Report this to http://github.com/atgreen/libffi/issues ##
-## ------------------------------------------------------ ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if test "$cross_compiling" = yes; then
-    # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid; break
-else
-  as_fn_arith $ac_mid + 1 && ac_lo=$as_val
-                       if test $ac_lo -le $ac_mid; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_lo=$ac_mid; break
-else
-  as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_hi=$ac_mid
-else
-  as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
-  else
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (($2) < 0)
-    {
-      long int i = longval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%ld", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ($2))
-       return 1;
-      fprintf (f, "%lu", i);
-    }
-  /* Do not output a trailing newline, as this causes \r\n confusion
-     on some platforms.  */
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
-  ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
-  fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_config_headers="$ac_config_headers fficonfig.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libffi'
- VERSION='3.0.11-rc2'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-
-
-save_CFLAGS=$CFLAGS
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS=$save_CFLAGS
-
-
-
-
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-depcc="$CCAS"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CCAS_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CCAS_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CCAS_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
-CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
-  am__fastdepCCAS_TRUE=
-  am__fastdepCCAS_FALSE='#'
-else
-  am__fastdepCCAS_TRUE='#'
-  am__fastdepCCAS_FALSE=
-fi
-
-
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-                     sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-        test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-       # cc works too.
-       :
-      else
-       # cc exists but doesn't like -o.
-       eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4'
-macro_revision='1.3293'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
-   if test "$GCC" = yes; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
-           ;;
-         ppc64-*linux*|powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         ppc*-*linux*|powerpc*-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
-        enable_dlopen=no
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl='-Wl,-Wl,,'
-       lt_prog_compiler_pic='-PIC'
-       lt_prog_compiler_static='-Bstatic'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ F* | *Sun*Fortran*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec=
-         hardcode_libdir_flag_spec_ld='-rpath $libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       always_export_symbols=yes
-       file_list_spec='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-       enable_shared_with_static_runtimes=yes
-       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds='chmod 644 $oldlib'
-       postlink_cmds='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_flag_spec_ld='+b $libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-       fi
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec="$LIB"
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in mmap
-do :
-  ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  libffi_header_sys_mman_h=yes
-else
-  libffi_header_sys_mman_h=no
-fi
-
-
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
-  libffi_func_mmap=yes
-else
-  libffi_func_mmap=no
-fi
-
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
-   ac_cv_func_mmap_file=no
-   ac_cv_func_mmap_dev_zero=no
-   ac_cv_func_mmap_anon=no
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if
-   # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
-   # memory area containing the same data that you'd get if you applied
-   # read() to the same fd.  The only system known to have a problem here
-   # is VMS, where text files have record structure.
-   case "$host_os" in
-     vms* | ultrix*)
-       ac_cv_func_mmap_file=no ;;
-     *)
-       ac_cv_func_mmap_file=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() but /dev/zero
-   # does not exist, or if mmapping /dev/zero does not give anonymous
-   # zeroed pages with both the following properties:
-   # 1. If you map N consecutive pages in with one call, and then
-   #    unmap any subset of those pages, the pages that were not
-   #    explicitly unmapped remain accessible.
-   # 2. If you map two adjacent blocks of memory and then unmap them
-   #    both at once, they must both go away.
-   # Systems known to be in this category are Windows (all variants),
-   # VMS, and Darwin.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
-       ac_cv_func_mmap_dev_zero=no ;;
-     *)
-       ac_cv_func_mmap_dev_zero=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
-
-   # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_decl_map_anon=yes
-else
-  ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
-
-   if test $ac_cv_decl_map_anon = no; then
-     ac_cv_func_mmap_anon=no
-   else
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # Add a system to this blacklist if it has mmap() and MAP_ANON or
-   # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
-   # doesn't give anonymous zeroed pages with the same properties listed
-   # above for use of /dev/zero.
-   # Systems known to be in this category are Windows, VMS, and SCO Unix.
-   case "$host_os" in
-     vms* | cygwin* | pe | mingw* | sco* | udk* )
-       ac_cv_func_mmap_anon=no ;;
-     *)
-       ac_cv_func_mmap_anon=yes;;
-   esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
-   fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
-
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
-
-fi
-
-
- if test -d $srcdir/testsuite; then
-  TESTSUBDIR_TRUE=
-  TESTSUBDIR_FALSE='#'
-else
-  TESTSUBDIR_TRUE='#'
-  TESTSUBDIR_FALSE=
-fi
-
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[0-9]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
- powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[34]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-
-
-
-if test $TARGETDIR = unknown; then
-  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
- if test x$TARGET = xMIPS; then
-  MIPS_TRUE=
-  MIPS_FALSE='#'
-else
-  MIPS_TRUE='#'
-  MIPS_FALSE=
-fi
-
- if test x$TARGET = xSPARC; then
-  SPARC_TRUE=
-  SPARC_FALSE='#'
-else
-  SPARC_TRUE='#'
-  SPARC_FALSE=
-fi
-
- if test x$TARGET = xX86; then
-  X86_TRUE=
-  X86_FALSE='#'
-else
-  X86_TRUE='#'
-  X86_FALSE=
-fi
-
- if test x$TARGET = xX86_FREEBSD; then
-  X86_FREEBSD_TRUE=
-  X86_FREEBSD_FALSE='#'
-else
-  X86_FREEBSD_TRUE='#'
-  X86_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN32; then
-  X86_WIN32_TRUE=
-  X86_WIN32_FALSE='#'
-else
-  X86_WIN32_TRUE='#'
-  X86_WIN32_FALSE=
-fi
-
- if test x$TARGET = xX86_WIN64; then
-  X86_WIN64_TRUE=
-  X86_WIN64_FALSE='#'
-else
-  X86_WIN64_TRUE='#'
-  X86_WIN64_FALSE=
-fi
-
- if test x$TARGET = xX86_DARWIN; then
-  X86_DARWIN_TRUE=
-  X86_DARWIN_FALSE='#'
-else
-  X86_DARWIN_TRUE='#'
-  X86_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xALPHA; then
-  ALPHA_TRUE=
-  ALPHA_FALSE='#'
-else
-  ALPHA_TRUE='#'
-  ALPHA_FALSE=
-fi
-
- if test x$TARGET = xIA64; then
-  IA64_TRUE=
-  IA64_FALSE='#'
-else
-  IA64_TRUE='#'
-  IA64_FALSE=
-fi
-
- if test x$TARGET = xM32R; then
-  M32R_TRUE=
-  M32R_FALSE='#'
-else
-  M32R_TRUE='#'
-  M32R_FALSE=
-fi
-
- if test x$TARGET = xM68K; then
-  M68K_TRUE=
-  M68K_FALSE='#'
-else
-  M68K_TRUE='#'
-  M68K_FALSE=
-fi
-
- if test x$TARGET = xMOXIE; then
-  MOXIE_TRUE=
-  MOXIE_FALSE='#'
-else
-  MOXIE_TRUE='#'
-  MOXIE_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC; then
-  POWERPC_TRUE=
-  POWERPC_FALSE='#'
-else
-  POWERPC_TRUE='#'
-  POWERPC_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_AIX; then
-  POWERPC_AIX_TRUE=
-  POWERPC_AIX_FALSE='#'
-else
-  POWERPC_AIX_TRUE='#'
-  POWERPC_AIX_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_DARWIN; then
-  POWERPC_DARWIN_TRUE=
-  POWERPC_DARWIN_FALSE='#'
-else
-  POWERPC_DARWIN_TRUE='#'
-  POWERPC_DARWIN_FALSE=
-fi
-
- if test x$TARGET = xPOWERPC_FREEBSD; then
-  POWERPC_FREEBSD_TRUE=
-  POWERPC_FREEBSD_FALSE='#'
-else
-  POWERPC_FREEBSD_TRUE='#'
-  POWERPC_FREEBSD_FALSE=
-fi
-
- if test x$TARGET = xARM; then
-  ARM_TRUE=
-  ARM_FALSE='#'
-else
-  ARM_TRUE='#'
-  ARM_FALSE=
-fi
-
- if test x$TARGET = xAVR32; then
-  AVR32_TRUE=
-  AVR32_FALSE='#'
-else
-  AVR32_TRUE='#'
-  AVR32_FALSE=
-fi
-
- if test x$TARGET = xLIBFFI_CRIS; then
-  LIBFFI_CRIS_TRUE=
-  LIBFFI_CRIS_FALSE='#'
-else
-  LIBFFI_CRIS_TRUE='#'
-  LIBFFI_CRIS_FALSE=
-fi
-
- if test x$TARGET = xFRV; then
-  FRV_TRUE=
-  FRV_FALSE='#'
-else
-  FRV_TRUE='#'
-  FRV_FALSE=
-fi
-
- if test x$TARGET = xS390; then
-  S390_TRUE=
-  S390_FALSE='#'
-else
-  S390_TRUE='#'
-  S390_FALSE=
-fi
-
- if test x$TARGET = xX86_64; then
-  X86_64_TRUE=
-  X86_64_FALSE='#'
-else
-  X86_64_TRUE='#'
-  X86_64_FALSE=
-fi
-
- if test x$TARGET = xSH; then
-  SH_TRUE=
-  SH_FALSE='#'
-else
-  SH_TRUE='#'
-  SH_FALSE=
-fi
-
- if test x$TARGET = xSH64; then
-  SH64_TRUE=
-  SH64_FALSE='#'
-else
-  SH64_TRUE='#'
-  SH64_FALSE=
-fi
-
- if test x$TARGET = xPA_LINUX; then
-  PA_LINUX_TRUE=
-  PA_LINUX_FALSE='#'
-else
-  PA_LINUX_TRUE='#'
-  PA_LINUX_FALSE=
-fi
-
- if test x$TARGET = xPA_HPUX; then
-  PA_HPUX_TRUE=
-  PA_HPUX_FALSE='#'
-else
-  PA_HPUX_TRUE='#'
-  PA_HPUX_FALSE=
-fi
-
- if test x$TARGET = xPA64_HPUX; then
-  PA64_HPUX_TRUE=
-  PA64_HPUX_FALSE='#'
-else
-  PA64_HPUX_TRUE='#'
-  PA64_HPUX_FALSE=
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
-  ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
-                                   if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
-    break
-fi
-
-  done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
-
-else
-  if test "$ac_cv_type_long_double" = yes; then
-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
-   else
-     ac_cv_sizeof_long_double=0
-   fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
-    fi
-  fi
-fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .cfi pseudo-op support" >&5
-$as_echo_n "checking assembler .cfi pseudo-op support... " >&6; }
-if ${gcc_cv_as_cfi_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    gcc_cv_as_cfi_pseudo_op=unknown
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".cfi_startproc\n\t.cfi_endproc");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gcc_cv_as_cfi_pseudo_op=yes
-else
-  gcc_cv_as_cfi_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_cfi_pseudo_op" >&5
-$as_echo "$gcc_cv_as_cfi_pseudo_op" >&6; }
- if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
-
- fi
-
-
-if test x$TARGET = xSPARC; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
-$as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
-if ${libffi_cv_as_sparc_ua_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  libffi_cv_as_sparc_ua_pcrel=yes
-else
-  libffi_cv_as_sparc_ua_pcrel=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_sparc_ua_pcrel" >&5
-$as_echo "$libffi_cv_as_sparc_ua_pcrel" >&6; }
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_SPARC_UA_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
-$as_echo_n "checking assembler .register pseudo-op support... " >&6; }
-if ${libffi_cv_as_register_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".register %g2, #scratch");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_register_pseudo_op=yes
-else
-  libffi_cv_as_register_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_register_pseudo_op" >&5
-$as_echo "$libffi_cv_as_register_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
-$as_echo_n "checking assembler supports pc related relocs... " >&6; }
-if ${libffi_cv_as_x86_pcrel+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_pcrel=yes
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
-           libffi_cv_as_x86_pcrel=no
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_pcrel" >&5
-$as_echo "$libffi_cv_as_x86_pcrel" >&6; }
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
-if ${libffi_cv_as_ascii_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".ascii \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_ascii_pseudo_op=yes
-else
-  libffi_cv_as_ascii_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5
-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
-$as_echo_n "checking assembler .string pseudo-op support... " >&6; }
-if ${libffi_cv_as_string_pseudo_op+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-asm (".string \\"string\\"");
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  libffi_cv_as_string_pseudo_op=yes
-else
-  libffi_cv_as_string_pseudo_op=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5
-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; }
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-
-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h
-
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
-$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
-if ${lt_cv_sys_symbol_underscore+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sys_symbol_underscore=no
-  cat > conftest.$ac_ext <<_LT_EOF
-void nm_test_func(){}
-int main(){nm_test_func;return 0;}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    ac_nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$ac_nlist"; then
-      # See whether the symbols have a leading underscore.
-      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
-        lt_cv_sys_symbol_underscore=yes
-      else
-        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
-         :
-        else
-         echo "configure: cannot find nm_test_func in $ac_nlist" >&5
-        fi
-      fi
-    else
-      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "configure: failed program was:" >&5
-    cat conftest.c >&5
-  fi
-  rm -rf conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
-$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
-  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
-
-
-    if test "x$sys_symbol_underscore" = xyes; then
-
-$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
-
-    fi
-fi
-
-case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-
-$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
-
-     ;;
-esac
-
-if test x$TARGET = xX86_64; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
-$as_echo_n "checking assembler supports unwind section type... " >&6; }
-if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
-$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-
-$as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
-
-    fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
-$as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
-if ${libffi_cv_ro_eh_frame+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
-$as_echo "$libffi_cv_ro_eh_frame" >&6; }
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
-
-$as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
-
-
-$as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
-
-else
-
-$as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
-$as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
-if ${libffi_cv_hidden_visibility_attribute+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
-$as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
-if test $libffi_cv_hidden_visibility_attribute = yes; then
-
-$as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
-
-fi
-
-
-
-
-
-
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
-  enableval=$enable_debug; if test "$enable_debug" = "yes"; then
-
-$as_echo "#define FFI_DEBUG 1" >>confdefs.h
-
-  fi
-fi
-
- if test "$enable_debug" = "yes"; then
-  FFI_DEBUG_TRUE=
-  FFI_DEBUG_FALSE='#'
-else
-  FFI_DEBUG_TRUE='#'
-  FFI_DEBUG_FALSE=
-fi
-
-
-# Check whether --enable-structs was given.
-if test "${enable_structs+set}" = set; then :
-  enableval=$enable_structs; if test "$enable_structs" = "no"; then
-
-$as_echo "#define FFI_NO_STRUCTS 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-raw-api was given.
-if test "${enable_raw_api+set}" = set; then :
-  enableval=$enable_raw_api; if test "$enable_raw_api" = "no"; then
-
-$as_echo "#define FFI_NO_RAW_API 1" >>confdefs.h
-
-  fi
-fi
-
-
-# Check whether --enable-purify-safety was given.
-if test "${enable_purify_safety+set}" = set; then :
-  enableval=$enable_purify_safety; if test "$enable_purify_safety" = "yes"; then
-
-$as_echo "#define USING_PURIFY 1" >>confdefs.h
-
-  fi
-fi
-
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-
-
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-ac_config_commands="$ac_config_commands include"
-
-ac_config_commands="$ac_config_commands src"
-
-
-ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
-
-
-ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${TESTSUBDIR_TRUE}" && test -z "${TESTSUBDIR_FALSE}"; then
-  as_fn_error $? "conditional \"TESTSUBDIR\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MIPS_TRUE}" && test -z "${MIPS_FALSE}"; then
-  as_fn_error $? "conditional \"MIPS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SPARC_TRUE}" && test -z "${SPARC_FALSE}"; then
-  as_fn_error $? "conditional \"SPARC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_TRUE}" && test -z "${X86_FALSE}"; then
-  as_fn_error $? "conditional \"X86\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_FREEBSD_TRUE}" && test -z "${X86_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"X86_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN32_TRUE}" && test -z "${X86_WIN32_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_WIN64_TRUE}" && test -z "${X86_WIN64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_WIN64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_DARWIN_TRUE}" && test -z "${X86_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"X86_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ALPHA_TRUE}" && test -z "${ALPHA_FALSE}"; then
-  as_fn_error $? "conditional \"ALPHA\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${IA64_TRUE}" && test -z "${IA64_FALSE}"; then
-  as_fn_error $? "conditional \"IA64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M32R_TRUE}" && test -z "${M32R_FALSE}"; then
-  as_fn_error $? "conditional \"M32R\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${M68K_TRUE}" && test -z "${M68K_FALSE}"; then
-  as_fn_error $? "conditional \"M68K\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MOXIE_TRUE}" && test -z "${MOXIE_FALSE}"; then
-  as_fn_error $? "conditional \"MOXIE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_TRUE}" && test -z "${POWERPC_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_AIX_TRUE}" && test -z "${POWERPC_AIX_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_AIX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_DARWIN_TRUE}" && test -z "${POWERPC_DARWIN_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${POWERPC_FREEBSD_TRUE}" && test -z "${POWERPC_FREEBSD_FALSE}"; then
-  as_fn_error $? "conditional \"POWERPC_FREEBSD\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${ARM_TRUE}" && test -z "${ARM_FALSE}"; then
-  as_fn_error $? "conditional \"ARM\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AVR32_TRUE}" && test -z "${AVR32_FALSE}"; then
-  as_fn_error $? "conditional \"AVR32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${LIBFFI_CRIS_TRUE}" && test -z "${LIBFFI_CRIS_FALSE}"; then
-  as_fn_error $? "conditional \"LIBFFI_CRIS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FRV_TRUE}" && test -z "${FRV_FALSE}"; then
-  as_fn_error $? "conditional \"FRV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${S390_TRUE}" && test -z "${S390_FALSE}"; then
-  as_fn_error $? "conditional \"S390\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${X86_64_TRUE}" && test -z "${X86_64_FALSE}"; then
-  as_fn_error $? "conditional \"X86_64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH_TRUE}" && test -z "${SH_FALSE}"; then
-  as_fn_error $? "conditional \"SH\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${SH64_TRUE}" && test -z "${SH64_FALSE}"; then
-  as_fn_error $? "conditional \"SH64\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_LINUX_TRUE}" && test -z "${PA_LINUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_LINUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA_HPUX_TRUE}" && test -z "${PA_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PA64_HPUX_TRUE}" && test -z "${PA64_HPUX_FALSE}"; then
-  as_fn_error $? "conditional \"PA64_HPUX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
-  as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libffi $as_me 3.0.11-rc2, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_links="$ac_config_links"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <http://github.com/atgreen/libffi/issues>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libffi config.status 3.0.11-rc2
-configured by $0, generated by GNU Autoconf 2.68,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-TARGETDIR="$TARGETDIR"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
-    "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
-    "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
-    "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
-    "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
-    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
-    "libffi.pc") CONFIG_FILES="$CONFIG_FILES libffi.pc" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS  :L $CONFIG_LINKS  :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-  :L)
-  #
-  # CONFIG_LINK
-  #
-
-  if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
-    :
-  else
-    # Prefer the file from the source tree if names are identical.
-    if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
-      ac_source=$srcdir/$ac_source
-    fi
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
-$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
-
-    if test ! -r "$ac_source"; then
-      as_fn_error $? "$ac_source: file not found" "$LINENO" 5
-    fi
-    rm -f "$ac_file"
-
-    # Try a relative symlink, then a hard link, then a copy.
-    case $ac_source in
-    [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
-       *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
-    esac
-    ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
-      ln "$ac_source" "$ac_file" 2>/dev/null ||
-      cp -p "$ac_source" "$ac_file" ||
-      as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
-  fi
- ;;
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-    "include":C) test -d include || mkdir include ;;
-    "src":C)
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/.pc/x86_pcrel_test/configure.ac b/.pc/x86_pcrel_test/configure.ac
deleted file mode 100644 (file)
index 66e61ff..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-dnl Process this with autoconf to create configure
-
-AC_PREREQ(2.63)
-
-AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
-AC_CONFIG_HEADERS([fficonfig.h])
-
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-. ${srcdir}/configure.host
-
-AM_INIT_AUTOMAKE
-
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-# Also save and restore CFLAGS, since AC_PROG_CC will come up with
-# defaults of its own if none are provided.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-save_CFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$save_CFLAGS
-m4_undefine([_AC_ARG_VAR_PRECIOUS])
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-AM_PROG_AS
-AM_PROG_CC_C_O
-AC_PROG_LIBTOOL
-AC_CONFIG_MACRO_DIR([m4])
-
-AM_MAINTAINER_MODE
-
-AC_CHECK_HEADERS(sys/mman.h)
-AC_CHECK_FUNCS(mmap)
-AC_FUNC_MMAP_BLACKLIST
-
-dnl The -no-testsuite modules omit the test subdir.
-AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
-
-TARGETDIR="unknown"
-case "$host" in
-  alpha*-*-*)
-       TARGET=ALPHA; TARGETDIR=alpha;
-       # Support 128-bit long double, changeable via command-line switch.
-       HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
-       ;;
-
-  arm*-*-*)
-       TARGET=ARM; TARGETDIR=arm
-       ;;
-
-  amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  amd64-*-freebsd*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  avr32*-*-*)
-       TARGET=AVR32; TARGETDIR=avr32
-       ;;
-
-  cris-*-*)
-       TARGET=LIBFFI_CRIS; TARGETDIR=cris
-       ;;
-
-  frv-*-*)
-       TARGET=FRV; TARGETDIR=frv
-       ;;
-
-  hppa*-*-linux* | parisc*-*-linux*)
-       TARGET=PA_LINUX; TARGETDIR=pa
-       ;;
-  hppa*64-*-hpux*)
-       TARGET=PA64_HPUX; TARGETDIR=pa
-       ;;
-  hppa*-*-hpux*)
-       TARGET=PA_HPUX; TARGETDIR=pa
-       ;;
-
-  i?86-*-freebsd* | i?86-*-openbsd*)
-       TARGET=X86_FREEBSD; TARGETDIR=x86
-       ;;
-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
-       TARGET=X86_WIN32; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-  i?86-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-  i?86-*-solaris2.1[[0-9]]*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-  i?86-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-
-  ia64*-*-*)
-       TARGET=IA64; TARGETDIR=ia64
-       ;;
-
-  m32r*-*-*)
-       TARGET=M32R; TARGETDIR=m32r
-       ;;
-
-  m68k-*-*)
-       TARGET=M68K; TARGETDIR=m68k
-       ;;
-
-  mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-  mips*-*-linux*)
-       # Support 128-bit long double for NewABI.
-       HAVE_LONG_DOUBLE='defined(__mips64)'
-       TARGET=MIPS; TARGETDIR=mips
-       ;;
-
-  moxie-*-*)
-        TARGET=MOXIE; TARGETDIR=moxie
-       ;;
-
-  powerpc*-*-linux* | powerpc-*-sysv*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-beos*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc-*-darwin*)
-       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
-       ;;
-  powerpc-*-aix* | rs6000-*-aix*)
-       TARGET=POWERPC_AIX; TARGETDIR=powerpc
-       ;;
-  powerpc-*-freebsd*)
-       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
-       ;;
- powerpc64-*-freebsd*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-  powerpc*-*-rtems*)
-       TARGET=POWERPC; TARGETDIR=powerpc
-       ;;
-
-  s390-*-* | s390x-*-*)
-       TARGET=S390; TARGETDIR=s390
-       ;;
-
-  sh-*-* | sh[[34]]*-*-*)
-       TARGET=SH; TARGETDIR=sh
-       ;;
-  sh64-*-* | sh5*-*-*)
-       TARGET=SH64; TARGETDIR=sh64
-       ;;
-
-  sparc*-*-*)
-       TARGET=SPARC; TARGETDIR=sparc
-       ;;
-
-  x86_64-*-darwin*)
-       TARGET=X86_DARWIN; TARGETDIR=x86
-       ;;
-
-  x86_64-*-cygwin* | x86_64-*-mingw*)
-       TARGET=X86_WIN64; TARGETDIR=x86
-       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
-       # We must also check with_cross_host to decide if this is a native
-       # or cross-build and select where to install dlls appropriately.
-       if test -n "$with_cross_host" &&
-          test x"$with_cross_host" != x"no"; then
-         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
-       else
-         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
-       fi
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-AC_SUBST(AM_RUNTESTFLAGS)
-AC_SUBST(AM_LTLDFLAGS)
-
-if test $TARGETDIR = unknown; then
-  AC_MSG_ERROR(["libffi has not been ported to $host."])
-fi
-
-AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
-AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
-AM_CONDITIONAL(X86, test x$TARGET = xX86)
-AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
-AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
-AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
-AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
-AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
-AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
-AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
-AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
-AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
-AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
-AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
-AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
-AM_CONDITIONAL(ARM, test x$TARGET = xARM)
-AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
-AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
-AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
-AM_CONDITIONAL(S390, test x$TARGET = xS390)
-AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
-AM_CONDITIONAL(SH, test x$TARGET = xSH)
-AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
-AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
-AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
-AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
-
-AC_HEADER_STDC
-AC_CHECK_FUNCS(memcpy)
-AC_FUNC_ALLOCA
-
-AC_CHECK_SIZEOF(double)
-AC_CHECK_SIZEOF(long double)
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
-  HAVE_LONG_DOUBLE=0
-  if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
-    if test $ac_cv_sizeof_long_double != 0; then
-      HAVE_LONG_DOUBLE=1
-      AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
-    fi
-  fi
-fi
-AC_SUBST(HAVE_LONG_DOUBLE)
-
-AC_C_BIGENDIAN
-
-GCC_AS_CFI_PSEUDO_OP
-
-if test x$TARGET = xSPARC; then
-    AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
-       libffi_cv_as_sparc_ua_pcrel, [
-       save_CFLAGS="$CFLAGS"
-       save_LDFLAGS="$LDFLAGS"
-       CFLAGS="$CFLAGS -fpic"
-       LDFLAGS="$LDFLAGS -shared"
-       AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
-                   [libffi_cv_as_sparc_ua_pcrel=yes],
-                   [libffi_cv_as_sparc_ua_pcrel=no])
-       CFLAGS="$save_CFLAGS"
-       LDFLAGS="$save_LDFLAGS"])
-    if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
-                 [Define if your assembler and linker support unaligned PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .register pseudo-op support],
-       libffi_cv_as_register_pseudo_op, [
-       libffi_cv_as_register_pseudo_op=unknown
-       # Check if we have .register
-       AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
-                      [libffi_cv_as_register_pseudo_op=yes],
-                      [libffi_cv_as_register_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
-              [Define if your assembler supports .register.])
-    fi
-fi
-
-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports pc related relocs],
-       libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=yes
-       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
-           libffi_cv_as_x86_pcrel=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_pcrel" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_PCREL, 1,
-                 [Define if your assembler supports PC relative relocs.])
-    fi
-
-    AC_CACHE_CHECK([assembler .ascii pseudo-op support],
-       libffi_cv_as_ascii_pseudo_op, [
-       libffi_cv_as_ascii_pseudo_op=unknown
-       # Check if we have .ascii
-       AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
-                      [libffi_cv_as_ascii_pseudo_op=yes],
-                      [libffi_cv_as_ascii_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
-              [Define if your assembler supports .ascii.])
-    fi
-
-    AC_CACHE_CHECK([assembler .string pseudo-op support],
-       libffi_cv_as_string_pseudo_op, [
-       libffi_cv_as_string_pseudo_op=unknown
-       # Check if we have .string
-       AC_TRY_COMPILE([asm (".string \\"string\\"");],,
-                      [libffi_cv_as_string_pseudo_op=yes],
-                      [libffi_cv_as_string_pseudo_op=no])
-    ])
-    if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
-       AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
-              [Define if your assembler supports .string.])
-    fi
-fi
-
-if test x$TARGET = xX86_WIN64; then
-    LT_SYS_SYMBOL_USCORE
-    if test "x$sys_symbol_underscore" = xyes; then
-        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-    fi
-fi
-
-case "$target" in
-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
-       AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
-                 [Cannot use malloc on this target, so, we revert to
-                   alternative means])
-     ;;
-esac
-
-if test x$TARGET = xX86_64; then
-    AC_CACHE_CHECK([assembler supports unwind section type],
-       libffi_cv_as_x86_64_unwind_section_type, [
-       libffi_cv_as_x86_64_unwind_section_type=yes
-       echo '.section .eh_frame,"a",@unwind' > conftest.s
-       if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
-           libffi_cv_as_x86_64_unwind_section_type=no
-       fi
-       ])
-    if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
-       AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
-                 [Define if your assembler supports unwind section type.])
-    fi
-fi
-
-AC_CACHE_CHECK([whether .eh_frame section should be read-only],
-    libffi_cv_ro_eh_frame, [
-       libffi_cv_ro_eh_frame=no
-       echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
-       if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
-           if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           elif grep '.section.*eh_frame.*#alloc' conftest.c \
-                | grep -v '#write' > /dev/null; then
-               libffi_cv_ro_eh_frame=yes
-           fi
-       fi
-       rm -f conftest.*
-    ])
-if test "x$libffi_cv_ro_eh_frame" = xyes; then
-    AC_DEFINE(HAVE_RO_EH_FRAME, 1,
-             [Define if .eh_frame sections should be read-only.])
-    AC_DEFINE(EH_FRAME_FLAGS, "a",
-             [Define to the flags needed for the .section .eh_frame directive.])
-else
-    AC_DEFINE(EH_FRAME_FLAGS, "aw",
-             [Define to the flags needed for the .section .eh_frame directive.])
-fi
-
-AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
-    libffi_cv_hidden_visibility_attribute, [
-       echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
-       libffi_cv_hidden_visibility_attribute=no
-       if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
-           if grep '\.hidden.*foo' conftest.s >/dev/null; then
-               libffi_cv_hidden_visibility_attribute=yes
-           fi
-       fi
-       rm -f conftest.*
-    ])
-if test $libffi_cv_hidden_visibility_attribute = yes; then
-    AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
-             [Define if __attribute__((visibility("hidden"))) is supported.])
-fi
-
-AH_BOTTOM([
-#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name) .hidden name
-#else
-#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
-#endif
-#else
-#ifdef LIBFFI_ASM
-#define FFI_HIDDEN(name)
-#else
-#define FFI_HIDDEN
-#endif
-#endif
-])
-
-AC_SUBST(TARGET)
-AC_SUBST(TARGETDIR)
-
-AC_SUBST(SHELL)
-
-AC_ARG_ENABLE(debug,
-[  --enable-debug          debugging mode],
-  if test "$enable_debug" = "yes"; then
-    AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
-  fi)
-AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
-
-AC_ARG_ENABLE(structs,
-[  --disable-structs       omit code for struct support],
-  if test "$enable_structs" = "no"; then
-    AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
-  fi)
-
-AC_ARG_ENABLE(raw-api,
-[  --disable-raw-api       make the raw api unavailable],
-  if test "$enable_raw_api" = "no"; then
-    AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
-  fi)
-
-AC_ARG_ENABLE(purify-safety,
-[  --enable-purify-safety  purify-safe mode],
-  if test "$enable_purify_safety" = "yes"; then
-    AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
-  fi)
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test x"$GCC" != x"no"; then
-  if test -n "$with_cross_host" &&
-     test x"$with_cross_host" != x"no"; then
-    toolexecdir='$(exec_prefix)/$(target_alias)'
-    toolexeclibdir='$(toolexecdir)/lib'
-  else
-    toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-    toolexeclibdir='$(libdir)'
-  fi
-  multi_os_directory=`$CC -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
-  AC_SUBST(toolexecdir)
-  AC_SUBST(toolexeclibdir)
-fi
-
-if test "${multilib}" = "yes"; then
-  multilib_arg="--enable-multilib"
-else
-  multilib_arg=
-fi
-
-AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
-AC_CONFIG_COMMANDS(src, [
-test -d src || mkdir src
-test -d src/$TARGETDIR || mkdir src/$TARGETDIR
-], [TARGETDIR="$TARGETDIR"])
-
-AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
-
-AC_OUTPUT
index bb5bc16..216a142 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+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
diff --git a/LICENSE b/LICENSE
index 7d12666..aa60342 100644 (file)
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-libffi - Copyright (c) 1996-2011  Anthony Green, Red Hat, Inc and others.
+libffi - Copyright (c) 1996-2012  Anthony Green, Red Hat, Inc and others.
 See source files for details.
 
 Permission is hereby granted, free of charge, to any person obtaining
index 799a0e2..6bf6cc5 100644 (file)
@@ -403,6 +403,7 @@ psdir = @psdir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
+sys_symbol_underscore = @sys_symbol_underscore@
 sysconfdir = @sysconfdir@
 target = @target@
 target_alias = @target_alias@
index dc84c68..b02565c 100755 (executable)
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-#   Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+#   2011 Free Software Foundation, Inc.
 
-timestamp='2009-11-20'
+timestamp='2011-06-03'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -56,8 +56,9 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
+Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -180,7 +181,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                fi
                ;;
            *)
-               os=netbsd
+               os=netbsd
                ;;
        esac
        # The OS release
@@ -223,7 +224,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
                ;;
        *5.*)
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
                ;;
        esac
        # According to Compaq, /usr/sbin/psrinfo has been available on
@@ -269,7 +270,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # A Xn.n version is an unreleased experimental baselevel.
        # 1.2 uses "1.2" for uname -r.
        echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       exit ;;
+       # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+       exitcode=$?
+       trap '' 0
+       exit $exitcode ;;
     Alpha\ *:Windows_NT*:*)
        # How do we know it's Interix rather than the generic POSIX subsystem?
        # Should we change UNAME_MACHINE based on the output of uname instead
@@ -295,7 +299,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        echo s390-ibm-zvmoe
        exit ;;
     *:OS400:*:*)
-        echo powerpc-ibm-os400
+       echo powerpc-ibm-os400
        exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
        echo arm-acorn-riscix${UNAME_RELEASE}
@@ -394,23 +398,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
+       echo m68k-atari-mint${UNAME_RELEASE}
        exit ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
        echo m68k-atari-mint${UNAME_RELEASE}
-        exit ;;
+       exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
+       echo m68k-atari-mint${UNAME_RELEASE}
        exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit ;;
+       echo m68k-milan-mint${UNAME_RELEASE}
+       exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit ;;
+       echo m68k-hades-mint${UNAME_RELEASE}
+       exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit ;;
+       echo m68k-unknown-mint${UNAME_RELEASE}
+       exit ;;
     m68k:machten:*:*)
        echo m68k-apple-machten${UNAME_RELEASE}
        exit ;;
@@ -480,8 +484,8 @@ EOF
        echo m88k-motorola-sysv3
        exit ;;
     AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
+       # DG/UX returns AViiON for all architectures
+       UNAME_PROCESSOR=`/usr/bin/uname -p`
        if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
        then
            if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
@@ -494,7 +498,7 @@ EOF
        else
            echo i586-dg-dgux${UNAME_RELEASE}
        fi
-       exit ;;
+       exit ;;
     M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
        echo m88k-dolphin-sysv3
        exit ;;
@@ -551,7 +555,7 @@ EOF
                echo rs6000-ibm-aix3.2
        fi
        exit ;;
-    *:AIX:*:[456])
+    *:AIX:*:[4567])
        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
        if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
                IBM_ARCH=rs6000
@@ -594,52 +598,52 @@ EOF
            9000/[678][0-9][0-9])
                if [ -x /usr/bin/getconf ]; then
                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                    case "${sc_cpu_version}" in
-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                      532)                      # CPU_PA_RISC2_0
-                        case "${sc_kernel_bits}" in
-                          32) HP_ARCH="hppa2.0n" ;;
-                          64) HP_ARCH="hppa2.0w" ;;
+                   sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                   case "${sc_cpu_version}" in
+                     523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                     528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                     532)                      # CPU_PA_RISC2_0
+                       case "${sc_kernel_bits}" in
+                         32) HP_ARCH="hppa2.0n" ;;
+                         64) HP_ARCH="hppa2.0w" ;;
                          '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-                        esac ;;
-                    esac
+                       esac ;;
+                   esac
                fi
                if [ "${HP_ARCH}" = "" ]; then
                    eval $set_cc_for_build
-                   sed 's/^              //' << EOF >$dummy.c
+                   sed 's/^            //' << EOF >$dummy.c
 
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
+               #define _HPUX_SOURCE
+               #include <stdlib.h>
+               #include <unistd.h>
 
-              int main ()
-              {
-              #if defined(_SC_KERNEL_BITS)
-                  long bits = sysconf(_SC_KERNEL_BITS);
-              #endif
-                  long cpu  = sysconf (_SC_CPU_VERSION);
+               int main ()
+               {
+               #if defined(_SC_KERNEL_BITS)
+                   long bits = sysconf(_SC_KERNEL_BITS);
+               #endif
+                   long cpu  = sysconf (_SC_CPU_VERSION);
 
-                  switch (cpu)
-               {
-               case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-               case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-               case CPU_PA_RISC2_0:
-              #if defined(_SC_KERNEL_BITS)
-                   switch (bits)
-                       {
-                       case 64: puts ("hppa2.0w"); break;
-                       case 32: puts ("hppa2.0n"); break;
-                       default: puts ("hppa2.0"); break;
-                       } break;
-              #else  /* !defined(_SC_KERNEL_BITS) */
-                   puts ("hppa2.0"); break;
-              #endif
-               default: puts ("hppa1.0"); break;
-               }
-                  exit (0);
-              }
+                   switch (cpu)
+                       {
+                       case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+                       case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+                       case CPU_PA_RISC2_0:
+               #if defined(_SC_KERNEL_BITS)
+                           switch (bits)
+                               {
+                               case 64: puts ("hppa2.0w"); break;
+                               case 32: puts ("hppa2.0n"); break;
+                               default: puts ("hppa2.0"); break;
+                               } break;
+               #else  /* !defined(_SC_KERNEL_BITS) */
+                           puts ("hppa2.0"); break;
+               #endif
+                       default: puts ("hppa1.0"); break;
+                       }
+                   exit (0);
+               }
 EOF
                    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
                    test -z "$HP_ARCH" && HP_ARCH=hppa
@@ -730,22 +734,22 @@ EOF
        exit ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
        echo c1-convex-bsd
-        exit ;;
+       exit ;;
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
        if getsysinfo -f scalar_acc
        then echo c32-convex-bsd
        else echo c2-convex-bsd
        fi
-        exit ;;
+       exit ;;
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
        echo c34-convex-bsd
-        exit ;;
+       exit ;;
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
        echo c38-convex-bsd
-        exit ;;
+       exit ;;
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
        echo c4-convex-bsd
-        exit ;;
+       exit ;;
     CRAY*Y-MP:*:*:*)
        echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit ;;
@@ -769,14 +773,14 @@ EOF
        exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit ;;
+       FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+       FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+       echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+       exit ;;
     5000:UNIX_System_V:4.*:*)
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+       FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+       FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+       echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
        exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
@@ -804,14 +808,14 @@ EOF
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
     i*:windows32*:*)
-       # uname -m includes "-pc" on this system.
-       echo ${UNAME_MACHINE}-mingw32
+       # uname -m includes "-pc" on this system.
+       echo ${UNAME_MACHINE}-mingw32
        exit ;;
     i*:PW*:*)
        echo ${UNAME_MACHINE}-pc-pw32
        exit ;;
     *:Interix*:*)
-       case ${UNAME_MACHINE} in
+       case ${UNAME_MACHINE} in
            x86)
                echo i586-pc-interix${UNAME_RELEASE}
                exit ;;
@@ -866,7 +870,7 @@ EOF
          EV6)   UNAME_MACHINE=alphaev6 ;;
          EV67)  UNAME_MACHINE=alphaev67 ;;
          EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
+       esac
        objdump --private-headers /bin/sh | grep -q ld.so.1
        if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
        echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
@@ -878,7 +882,13 @@ EOF
        then
            echo ${UNAME_MACHINE}-unknown-linux-gnu
        else
-           echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+           if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+               | grep -q __ARM_PCS_VFP
+           then
+               echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+           else
+               echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+           fi
        fi
        exit ;;
     avr32*:Linux:*:*)
@@ -891,7 +901,7 @@ EOF
        echo crisv32-axis-linux-gnu
        exit ;;
     frv:Linux:*:*)
-       echo frv-unknown-linux-gnu
+       echo frv-unknown-linux-gnu
        exit ;;
     i*86:Linux:*:*)
        LIBC=gnu
@@ -959,7 +969,7 @@ EOF
        echo ${UNAME_MACHINE}-ibm-linux
        exit ;;
     sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit ;;
     sh*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -967,6 +977,9 @@ EOF
     sparc:Linux:*:* | sparc64:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit ;;
+    tile*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
     vax:Linux:*:*)
        echo ${UNAME_MACHINE}-dec-linux-gnu
        exit ;;
@@ -974,7 +987,7 @@ EOF
        echo x86_64-unknown-linux-gnu
        exit ;;
     xtensa*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
        exit ;;
     i*86:DYNIX/ptx:4*:*)
        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -983,11 +996,11 @@ EOF
        echo i386-sequent-sysv4
        exit ;;
     i*86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
+       # Unixware is an offshoot of SVR4, but it has its own version
+       # number series starting with 2...
+       # I am not positive that other SVR4 systems won't match this,
        # I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
+       # Use sysv4.2uw... so that sysv4* matches it.
        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
        exit ;;
     i*86:OS/2:*:*)
@@ -1019,7 +1032,7 @@ EOF
        fi
        exit ;;
     i*86:*:5:[678]*)
-       # UnixWare 7.x, OpenUNIX and OpenServer 6.
+       # UnixWare 7.x, OpenUNIX and OpenServer 6.
        case `/bin/uname -X | grep "^Machine"` in
            *486*)           UNAME_MACHINE=i486 ;;
            *Pentium)        UNAME_MACHINE=i586 ;;
@@ -1047,13 +1060,13 @@ EOF
        exit ;;
     pc:*:*:*)
        # Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i586.
+       # uname -m prints for DJGPP always 'pc', but it prints nothing about
+       # the processor, so we play safe by assuming i586.
        # Note: whatever this is, it MUST be the same as what config.sub
        # prints for the "djgpp" host, or else GDB configury will decide that
        # this is a cross-build.
        echo i586-pc-msdosdjgpp
-        exit ;;
+       exit ;;
     Intel:Mach:3*:*)
        echo i386-pc-mach3
        exit ;;
@@ -1088,8 +1101,8 @@ EOF
        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
          && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && { echo i486-ncr-sysv4; exit; } ;;
+       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+         && { echo i486-ncr-sysv4; exit; } ;;
     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
        OS_REL='.3'
        test -r /etc/.relid \
@@ -1132,10 +1145,10 @@ EOF
                echo ns32k-sni-sysv
        fi
        exit ;;
-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                      # says <Richard.M.Bartel@ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit ;;
+    PENTIUM:*:4.0*:*)  # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                       # says <Richard.M.Bartel@ccMail.Census.GOV>
+       echo i586-unisys-sysv4
+       exit ;;
     *:UNIX_System_V:4*:FTX*)
        # From Gerald Hewes <hewes@openmarket.com>.
        # How about differentiating between stratus architectures? -djm
@@ -1161,11 +1174,11 @@ EOF
        exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
        if [ -d /usr/nec ]; then
-               echo mips-nec-sysv${UNAME_RELEASE}
+               echo mips-nec-sysv${UNAME_RELEASE}
        else
-               echo mips-unknown-sysv${UNAME_RELEASE}
+               echo mips-unknown-sysv${UNAME_RELEASE}
        fi
-        exit ;;
+       exit ;;
     BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
        echo powerpc-be-beos
        exit ;;
@@ -1230,6 +1243,9 @@ EOF
     *:QNX:*:4*)
        echo i386-pc-qnx
        exit ;;
+    NEO-?:NONSTOP_KERNEL:*:*)
+       echo neo-tandem-nsk${UNAME_RELEASE}
+       exit ;;
     NSE-?:NONSTOP_KERNEL:*:*)
        echo nse-tandem-nsk${UNAME_RELEASE}
        exit ;;
@@ -1275,13 +1291,13 @@ EOF
        echo pdp10-unknown-its
        exit ;;
     SEI:*:*:SEIUX)
-        echo mips-sei-seiux${UNAME_RELEASE}
+       echo mips-sei-seiux${UNAME_RELEASE}
        exit ;;
     *:DragonFly:*:*)
        echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
        exit ;;
     *:*VMS:*:*)
-       UNAME_MACHINE=`(uname -p) 2>/dev/null`
+       UNAME_MACHINE=`(uname -p) 2>/dev/null`
        case "${UNAME_MACHINE}" in
            A*) echo alpha-dec-vms ; exit ;;
            I*) echo ia64-dec-vms ; exit ;;
@@ -1321,11 +1337,11 @@ main ()
 #include <sys/param.h>
   printf ("m68k-sony-newsos%s\n",
 #ifdef NEWSOS4
-          "4"
+       "4"
 #else
-         ""
+       ""
 #endif
-         ); exit (0);
+       ); exit (0);
 #endif
 #endif
 
index 2a55a50..78176a4 100755 (executable)
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-#   Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+#   2011 Free Software Foundation, Inc.
 
-timestamp='2009-11-20'
+timestamp='2011-10-29'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -75,8 +75,9 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
+Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -123,8 +124,9 @@ esac
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
@@ -156,8 +158,8 @@ case $os in
                os=
                basic_machine=$1
                ;;
-        -bluegene*)
-               os=-cnk
+       -bluegene*)
+               os=-cnk
                ;;
        -sim | -cisco | -oki | -wec | -winbond)
                os=
@@ -173,10 +175,10 @@ case $os in
                os=-chorusos
                basic_machine=$1
                ;;
-       -chorusrdb)
-               os=-chorusrdb
+       -chorusrdb)
+               os=-chorusrdb
                basic_machine=$1
-               ;;
+               ;;
        -hiux*)
                os=-hiuxwe2
                ;;
@@ -249,13 +251,17 @@ case $basic_machine in
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
        | am33_2.0 \
        | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+        | be32 | be64 \
        | bfin \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
+       | epiphany \
        | fido | fr30 | frv \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | hexagon \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
+       | le32 | le64 \
        | lm32 \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
        | maxq | mb | microblaze | mcore | mep | metag \
@@ -281,27 +287,38 @@ case $basic_machine in
        | moxie \
        | mt \
        | msp430 \
+       | nds32 | nds32le | nds32be \
        | nios | nios2 \
        | ns16k | ns32k \
+       | open8 \
        | or32 \
        | pdp10 | pdp11 | pj | pjl \
-       | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+       | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
-       | rx \
+       | rl78 | rx \
        | score \
        | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
        | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
        | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-       | spu | strongarm \
-       | tahoe | thumb | tic4x | tic80 | tron \
+       | spu \
+       | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
        | ubicom32 \
-       | v850 | v850e \
+       | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
        | we32k \
-       | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+       | x86 | xc16x | xstormy16 | xtensa \
        | z8k | z80)
                basic_machine=$basic_machine-unknown
                ;;
+       c54x)
+               basic_machine=tic54x-unknown
+               ;;
+       c55x)
+               basic_machine=tic55x-unknown
+               ;;
+       c6x)
+               basic_machine=tic6x-unknown
+               ;;
        m6811 | m68hc11 | m6812 | m68hc12 | picochip)
                # Motorola 68HC11/12.
                basic_machine=$basic_machine-unknown
@@ -313,6 +330,18 @@ case $basic_machine in
                basic_machine=mt-unknown
                ;;
 
+       strongarm | thumb | xscale)
+               basic_machine=arm-unknown
+               ;;
+
+       xscaleeb)
+               basic_machine=armeb-unknown
+               ;;
+
+       xscaleel)
+               basic_machine=armel-unknown
+               ;;
+
        # We use `pc' rather than `unknown'
        # because (1) that's what they normally are, and
        # (2) the word "unknown" tends to confuse beginning users.
@@ -332,16 +361,19 @@ case $basic_machine in
        | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
+       | be32-* | be64-* \
        | bfin-* | bs2000-* \
-       | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+       | c[123]* | c30-* | [cjt]90-* | c4x-* \
        | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
        | elxsi-* \
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | hexagon-* \
        | i*86-* | i860-* | i960-* | ia64-* \
        | ip2k-* | iq2000-* \
+       | le32-* | le64-* \
        | lm32-* \
        | m32c-* | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
@@ -367,25 +399,29 @@ case $basic_machine in
        | mmix-* \
        | mt-* \
        | msp430-* \
+       | nds32-* | nds32le-* | nds32be-* \
        | nios-* | nios2-* \
        | none-* | np1-* | ns16k-* | ns32k-* \
+       | open8-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
        | pyramid-* \
-       | romp-* | rs6000-* | rx-* \
+       | rl78-* | romp-* | rs6000-* | rx-* \
        | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
        | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
        | sparclite-* \
-       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
-       | tahoe-* | thumb-* \
-       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+       | tahoe-* \
+       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+       | tile*-* \
        | tron-* \
        | ubicom32-* \
-       | v850-* | v850e-* | vax-* \
+       | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+       | vax-* \
        | we32k-* \
-       | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+       | x86-* | x86_64-* | xc16x-* | xps100-* \
        | xstormy16-* | xtensa*-* \
        | ymp-* \
        | z8k-* | z80-*)
@@ -410,7 +446,7 @@ case $basic_machine in
                basic_machine=a29k-amd
                os=-udi
                ;;
-       abacus)
+       abacus)
                basic_machine=abacus-unknown
                ;;
        adobe68k)
@@ -480,11 +516,20 @@ case $basic_machine in
                basic_machine=powerpc-ibm
                os=-cnk
                ;;
+       c54x-*)
+               basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       c55x-*)
+               basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       c6x-*)
+               basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
        c90)
                basic_machine=c90-cray
                os=-unicos
                ;;
-        cegcc)
+       cegcc)
                basic_machine=arm-unknown
                os=-cegcc
                ;;
@@ -516,7 +561,7 @@ case $basic_machine in
                basic_machine=craynv-cray
                os=-unicosmp
                ;;
-       cr16)
+       cr16 | cr16-*)
                basic_machine=cr16-unknown
                os=-elf
                ;;
@@ -732,7 +777,7 @@ case $basic_machine in
                basic_machine=ns32k-utek
                os=-sysv
                ;;
-        microblaze)
+       microblaze)
                basic_machine=microblaze-xilinx
                ;;
        mingw32)
@@ -775,6 +820,10 @@ case $basic_machine in
                basic_machine=i370-ibm
                os=-mvs
                ;;
+       nacl)
+               basic_machine=le32-unknown
+               os=-nacl
+               ;;
        ncr3000)
                basic_machine=i486-ncr
                os=-sysv4
@@ -839,6 +888,12 @@ case $basic_machine in
        np1)
                basic_machine=np1-gould
                ;;
+       neo-tandem)
+               basic_machine=neo-tandem
+               ;;
+       nse-tandem)
+               basic_machine=nse-tandem
+               ;;
        nsr-tandem)
                basic_machine=nsr-tandem
                ;;
@@ -921,9 +976,10 @@ case $basic_machine in
                ;;
        power)  basic_machine=power-ibm
                ;;
-       ppc)    basic_machine=powerpc-unknown
+       ppc | ppcbe)    basic_machine=powerpc-unknown
                ;;
-       ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+       ppc-* | ppcbe-*)
+               basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
        ppcle | powerpclittle | ppc-le | powerpc-little)
                basic_machine=powerpcle-unknown
@@ -1017,6 +1073,9 @@ case $basic_machine in
                basic_machine=i860-stratus
                os=-sysv4
                ;;
+       strongarm-* | thumb-*)
+               basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
        sun2)
                basic_machine=m68000-sun
                ;;
@@ -1073,20 +1132,8 @@ case $basic_machine in
                basic_machine=t90-cray
                os=-unicos
                ;;
-       tic54x | c54x*)
-               basic_machine=tic54x-unknown
-               os=-coff
-               ;;
-       tic55x | c55x*)
-               basic_machine=tic55x-unknown
-               os=-coff
-               ;;
-       tic6x | c6x*)
-               basic_machine=tic6x-unknown
-               os=-coff
-               ;;
        tile*)
-               basic_machine=tile-unknown
+               basic_machine=$basic_machine-unknown
                os=-linux-gnu
                ;;
        tx39)
@@ -1156,6 +1203,9 @@ case $basic_machine in
        xps | xps100)
                basic_machine=xps100-honeywell
                ;;
+       xscale-* | xscalee[bl]-*)
+               basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+               ;;
        ymp)
                basic_machine=ymp-cray
                os=-unicos
@@ -1253,11 +1303,11 @@ esac
 if [ x"$os" != x"" ]
 then
 case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
+       # First match some system type aliases
+       # that might get confused with valid system types.
        # -solaris* is a basic system type, with this one exception.
-        -auroraux)
-               os=-auroraux
+       -auroraux)
+               os=-auroraux
                ;;
        -solaris1 | -solaris1.*)
                os=`echo $os | sed -e 's|solaris1|sunos4|'`
@@ -1294,7 +1344,8 @@ case $os in
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* | -cegcc* \
              | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+             | -mingw32* | -linux-gnu* | -linux-android* \
+             | -linux-newlib* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1341,7 +1392,7 @@ case $os in
        -opened*)
                os=-openedition
                ;;
-        -os400*)
+       -os400*)
                os=-os400
                ;;
        -wince*)
@@ -1390,7 +1441,7 @@ case $os in
        -sinix*)
                os=-sysv4
                ;;
-        -tpf*)
+       -tpf*)
                os=-tpf
                ;;
        -triton*)
@@ -1435,6 +1486,8 @@ case $os in
        -dicos*)
                os=-dicos
                ;;
+       -nacl*)
+               ;;
        -none)
                ;;
        *)
@@ -1457,10 +1510,10 @@ else
 # system, and we'll never get to this point.
 
 case $basic_machine in
-        score-*)
+       score-*)
                os=-elf
                ;;
-        spu-*)
+       spu-*)
                os=-elf
                ;;
        *-acorn)
@@ -1472,8 +1525,17 @@ case $basic_machine in
        arm*-semi)
                os=-aout
                ;;
-        c4x-* | tic4x-*)
-               os=-coff
+       c4x-* | tic4x-*)
+               os=-coff
+               ;;
+       tic54x-*)
+               os=-coff
+               ;;
+       tic55x-*)
+               os=-coff
+               ;;
+       tic6x-*)
+               os=-coff
                ;;
        # This must come before the *-dec entry.
        pdp10-*)
@@ -1500,7 +1562,7 @@ case $basic_machine in
        m68*-cisco)
                os=-aout
                ;;
-        mep-*)
+       mep-*)
                os=-elf
                ;;
        mips*-cisco)
@@ -1527,7 +1589,7 @@ case $basic_machine in
        *-ibm)
                os=-aix
                ;;
-       *-knuth)
+       *-knuth)
                os=-mmixware
                ;;
        *-wec)
index 2deed39..cec095b 100755 (executable)
--- a/configure
+++ b/configure
@@ -13166,6 +13166,15 @@ case "$host" in
        ;;
   i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
        TARGET=X86_WIN32; TARGETDIR=x86
+       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+       # We must also check with_cross_host to decide if this is a native
+       # or cross-build and select where to install dlls appropriately.
+       if test -n "$with_cross_host" &&
+          test x"$with_cross_host" != x"no"; then
+         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
+       else
+         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
+       fi
        ;;
   i?86-*-darwin*)
        TARGET=X86_DARWIN; TARGETDIR=x86
@@ -13248,15 +13257,6 @@ case "$host" in
 
   x86_64-*-cygwin* | x86_64-*-mingw*)
        TARGET=X86_WIN64; TARGETDIR=x86
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-case "$host" in
-     *-win32* | *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-interix*)
        # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
        # We must also check with_cross_host to decide if this is a native
        # or cross-build and select where to install dlls appropriately.
@@ -13267,6 +13267,10 @@ case "$host" in
          AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
        fi
        ;;
+
+  x86_64-*-*)
+       TARGET=X86_64; TARGETDIR=x86
+       ;;
 esac
 
 
index 6646c03..4d75c5c 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this with autoconf to create configure
 
-AC_PREREQ(2.63)
+AC_PREREQ(2.64)
 
 AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
 AC_CONFIG_HEADERS([fficonfig.h])
@@ -98,6 +98,15 @@ case "$host" in
        ;;
   i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
        TARGET=X86_WIN32; TARGETDIR=x86
+       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+       # We must also check with_cross_host to decide if this is a native
+       # or cross-build and select where to install dlls appropriately.
+       if test -n "$with_cross_host" &&
+          test x"$with_cross_host" != x"no"; then
+         AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
+       else
+         AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
+       fi
        ;;
   i?86-*-darwin*)
        TARGET=X86_DARWIN; TARGETDIR=x86
@@ -180,15 +189,6 @@ case "$host" in
 
   x86_64-*-cygwin* | x86_64-*-mingw*)
        TARGET=X86_WIN64; TARGETDIR=x86
-       ;;
-
-  x86_64-*-*)
-       TARGET=X86_64; TARGETDIR=x86
-       ;;
-esac
-
-case "$host" in
-     *-win32* | *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-interix*)
        # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
        # We must also check with_cross_host to decide if this is a native
        # or cross-build and select where to install dlls appropriately.
@@ -199,6 +199,10 @@ case "$host" in
          AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
        fi
        ;;
+
+  x86_64-*-*)
+       TARGET=X86_64; TARGETDIR=x86
+       ;;
 esac
 
 AC_SUBST(AM_RUNTESTFLAGS)
@@ -293,10 +297,10 @@ fi
 if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
     AC_CACHE_CHECK([assembler supports pc related relocs],
        libffi_cv_as_x86_pcrel, [
-       libffi_cv_as_x86_pcrel=no
+       libffi_cv_as_x86_pcrel=yes
        echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-       if $CC $CFLAGS -c conftest.s > /dev/null; then
-          libffi_cv_as_x86_pcrel=yes
+       if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
+           libffi_cv_as_x86_pcrel=no
        fi
        ])
     if test "x$libffi_cv_as_x86_pcrel" = xyes; then
index 402f760..f92aae6 100644 (file)
@@ -1,10 +1,10 @@
-This is ../libffi/doc/libffi.info, produced by makeinfo version 4.13
-from ../libffi/doc/libffi.texi.
+This is /home/green/libffi/doc/libffi.info, produced by makeinfo
+version 4.13 from /home/green/libffi/doc/libffi.texi.
 
 This manual is for Libffi, a portable foreign-function interface
 library.
 
-   Copyright (C) 2008, 2010, 2011 Red Hat, Inc.
+   Copyright (C) 2008, 2010 Red Hat, Inc.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU General Public License as
@@ -27,7 +27,7 @@ libffi
 This manual is for Libffi, a portable foreign-function interface
 library.
 
-   Copyright (C) 2008, 2010, 2011 Red Hat, Inc.
+   Copyright (C) 2008, 2010 Red Hat, Inc.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU General Public License as
@@ -115,6 +115,8 @@ To prepare a call interface object, use the function `ffi_prep_cif'.
      want.  *note Multiple ABIs:: for more information.
 
      NARGS is the number of arguments that this function accepts.
+     `libffi' does not yet handle varargs functions; see *note Missing
+     Features:: for more information.
 
      RTYPE is a pointer to an `ffi_type' structure that describes the
      return type of the function.  *Note Types::.
@@ -127,30 +129,6 @@ To prepare a call interface object, use the function `ffi_prep_cif'.
      properly; `FFI_BAD_TYPEDEF' if one of the `ffi_type' objects is
      incorrect; or `FFI_BAD_ABI' if the ABI parameter is invalid.
 
-   If the function being called is variadic (varargs) then
-`ffi_prep_cif_var' must be used instead of `ffi_prep_cif'.
-
- -- Function: ffi_status ffi_prep_cif_var (ffi_cif *CIF, ffi_abi
-          varabi, unsigned int NFIXEDARGS, unsigned int varntotalargs,
-          ffi_type *RTYPE, ffi_type **ARGTYPES)
-     This initializes CIF according to the given parameters for a call
-     to a variadic function.  In general it's operation is the same as
-     for `ffi_prep_cif' except that:
-
-     NFIXEDARGS is the number of fixed arguments, prior to any variadic
-     arguments.  It must be greater than zero.
-
-     NTOTALARGS the total number of arguments, including variadic and
-     fixed arguments.
-
-     Note that, different cif's must be prepped for calls to the same
-     function when different numbers of arguments are passed.
-
-     Also note that a call to `ffi_prep_cif_var' with
-     NFIXEDARGS=NOTOTALARGS is NOT equivalent to a call to
-     `ffi_prep_cif'.
-
-
    To call a function using an initialized `ffi_cif', use the
 `ffi_call' function:
 
@@ -169,9 +147,7 @@ To prepare a call interface object, use the function `ffi_prep_cif'.
      AVALUES is a vector of `void *' pointers that point to the memory
      locations holding the argument values for a call.  If CIF declares
      that the function has no arguments (i.e., NARGS was 0), then
-     AVALUES is ignored.  Note that argument values may be modified by
-     the callee (for instance, structs passed by value); the burden of
-     copying pass-by-value arguments is placed on the caller.
+     AVALUES is ignored.
 
 \1f
 File: libffi.info,  Node: Simple Example,  Next: Types,  Prev: The Basics,  Up: Using libffi
@@ -533,7 +509,9 @@ File: libffi.info,  Node: Missing Features,  Next: Index,  Prev: Using libffi,
 `libffi' is missing a few features.  We welcome patches to add support
 for these.
 
-   * Variadic closures.
+   * There is no support for calling varargs functions.  This may work
+     on some platforms, depending on how the ABI is defined, but it is
+     not reliable.
 
    * There is no support for bit fields in structures.
 
@@ -541,9 +519,6 @@ for these.
 
    * The "raw" API is undocumented.
 
-   Note that variadic support is very new and tested on a relatively
-small number of platforms.
-
 \1f
 File: libffi.info,  Node: Index,  Prev: Missing Features,  Up: Top
 
@@ -561,12 +536,11 @@ Index
 * closure API:                           The Closure API.      (line 13)
 * closures:                              The Closure API.      (line 13)
 * FFI:                                   Introduction.         (line 31)
-* ffi_call:                              The Basics.           (line 63)
+* ffi_call:                              The Basics.           (line 41)
 * ffi_closure_alloc:                     The Closure API.      (line 19)
 * ffi_closure_free:                      The Closure API.      (line 26)
 * FFI_CLOSURES:                          The Closure API.      (line 13)
 * ffi_prep_cif:                          The Basics.           (line 16)
-* ffi_prep_cif_var:                      The Basics.           (line 39)
 * ffi_prep_closure_loc:                  The Closure API.      (line 34)
 * ffi_status <1>:                        The Closure API.      (line 37)
 * ffi_status:                            The Basics.           (line 18)
@@ -594,24 +568,24 @@ Index
 * ffi_type_void:                         Primitive Types.      (line 10)
 * Foreign Function Interface:            Introduction.         (line 31)
 * void <1>:                              The Closure API.      (line 20)
-* void:                                  The Basics.           (line 65)
+* void:                                  The Basics.           (line 43)
 
 
 \1f
 Tag Table:
-Node: Top\7f712
-Node: Introduction\7f1460
-Node: Using libffi\7f3096
-Node: The Basics\7f3582
-Node: Simple Example\7f7224
-Node: Types\7f8251
-Node: Primitive Types\7f8534
-Node: Structures\7f10354
-Node: Type Example\7f11214
-Node: Multiple ABIs\7f12437
-Node: The Closure API\7f12808
-Node: Closure Example\7f15752
-Node: Missing Features\7f17311
-Node: Index\7f17764
+Node: Top\7f724
+Node: Introduction\7f1466
+Node: Using libffi\7f3102
+Node: The Basics\7f3588
+Node: Simple Example\7f6195
+Node: Types\7f7222
+Node: Primitive Types\7f7505
+Node: Structures\7f9325
+Node: Type Example\7f10185
+Node: Multiple ABIs\7f11408
+Node: The Closure API\7f11779
+Node: Closure Example\7f14723
+Node: Missing Features\7f16282
+Node: Index\7f16775
 \1f
 End Tag Table
index b7d88da..6d7634a 100644 (file)
@@ -114,6 +114,7 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
+FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
 FGREP = @FGREP@
 GREP = @GREP@
 HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
@@ -205,6 +206,7 @@ psdir = @psdir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
+sys_symbol_underscore = @sys_symbol_underscore@
 sysconfdir = @sysconfdir@
 target = @target@
 target_alias = @target_alias@
index 95f48c5..b8b80e0 100644 (file)
@@ -26,4 +26,4 @@
 #    release, then set age to 0.
 #
 # CURRENT:REVISION:AGE
-6:0:0
+5:10:0
index 2653d69..7b47d07 100644 (file)
@@ -112,6 +112,7 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
+FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
 FGREP = @FGREP@
 GREP = @GREP@
 HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
@@ -203,6 +204,7 @@ psdir = @psdir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
+sys_symbol_underscore = @sys_symbol_underscore@
 sysconfdir = @sysconfdir@
 target = @target@
 target_alias = @target_alias@
@@ -215,8 +217,8 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 AUTOMAKE_OPTIONS = foreign
-EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3
-man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3
+EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
+man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
 all: all-am
 
 .SUFFIXES:
index 55ec241..525760b 100644 (file)
@@ -1,48 +1,2 @@
-stand-alone
-msvcc-warning
-ffi_last_abi
-win64-struct-args
-stdcall-x86-closure-fix
-ml64-safeseh
-debug-build
-win64-underscore
-x86_pcrel_test
-aix-ibm-xlc
-fix-grammar
-sparc-v8-aggregate-returns
-hpux-mallinfo
-copyright-updates
-ios
-fix-xfails
-interix
-ppc64-darwin
-irix
-sparc-abi-check
-ungccify
-ios-fixes
-bad-abi-fix
-msvcc
-fix_maxopt
-fix-ppc32
-darwin-EH-fix
-more-openbsd
-more-openbsd-mips
-darwin11
-powerpc-sysv-without-string-ops
-windows-ce-arm
-kfreebsd-mmap
-minix
 
-interix-patch
-remove-debug-code
-powerpc-ffi-softfloat
-variadic
-m68k-patches
-unlikely
-amiga
-alpha
-autoconf-archive-update
-ffitarget-include-fix
-no-undefined-fix
-x86_abi_check_fix
-x32-abi
+stand-alone
index 24db447..6b810fc 100644 (file)
@@ -587,34 +587,6 @@ Index: libffi/ChangeLog.libffi
 +      * testsuite/lib/libffi-dg.exp: Many changes to allow for execution
 +      outside of gcc tree.
 +
-Index: libffi/LICENSE
-===================================================================
---- libffi.orig/LICENSE
-+++ libffi/LICENSE
-@@ -1,4 +1,5 @@
--libffi - Copyright (c) 1996-2003  Red Hat, Inc.
-+libffi - Copyright (c) 1996-2009  Anthony Green, Red Hat, Inc and others.  
-+See source files for details.
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
-@@ -11,10 +12,10 @@ the following conditions:
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
--THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
--OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
--IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR
--OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
--ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
--OTHER DEALINGS IN THE SOFTWARE.
-+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 Index: libffi/Makefile.am
 ===================================================================
 --- libffi.orig/Makefile.am
@@ -627,27 +599,64 @@ Index: libffi/Makefile.am
  
  SUBDIRS = include testsuite man
  
-@@ -28,10 +27,16 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
-       src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
-       src/sparc/ffi.c src/x86/darwin64.S \
+@@ -11,26 +10,32 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
+       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
+       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
+       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
+-      src/ia64/unix.S \
+-      src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
+-      src/mips/ffitarget.h \
+-      src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
+-      src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
+-      src/powerpc/ffi.c src/powerpc/sysv.S \
++      src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
++      src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
++      src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
++      src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
+       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
+-      src/powerpc/ppc_closure.S src/powerpc/asm.h \
+-      src/powerpc/aix.S src/powerpc/darwin.S \
+-      src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
+-      src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
+-      src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
+-      src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
+-      src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
+-      src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
+-      src/sparc/ffi.c src/x86/darwin64.S \
++      src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
++      src/powerpc/darwin.S src/powerpc/aix_closure.S \
++      src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
++      src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
++      src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
++      src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
++      src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
++      src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
        src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
-+      src/x86/win64.S src/x86/freebsd.S \
-       src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
-       src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
--      src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
--      src/moxie/ffi.c src/moxie/eabi.S
-+      src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h \
-+      src/dlmalloc.c \
-+      src/moxie/ffi.c src/moxie/eabi.S \
-+      libtool-version ChangeLog.libffi m4/libtool.m4 \
-+      m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
+-      src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
+-      src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
+-      src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c
++      src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
++      src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
++      src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
++      src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
++      src/moxie/ffi.c src/moxie/eabi.S libtool-version \
++      ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
++      m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 build-ios.sh \
++      m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh src/debug.c \
++      msvcc.sh
++
 +
 +info_TEXINFOS = doc/libffi.texi
  
  ## ################################################################
  
-@@ -79,12 +84,17 @@ AM_MAKEFLAGS = \
+@@ -76,19 +81,25 @@ AM_MAKEFLAGS = \
+       "RANLIB=$(RANLIB)" \
+       "DESTDIR=$(DESTDIR)"
  
+-# Subdir rules rely on $(FLAGS_TO_PASS)
+-FLAGS_TO_PASS = $(AM_MAKEFLAGS)
+-
  MAKEOVERRIDES=
  
 -toolexeclib_LTLIBRARIES = libffi.la
@@ -656,7 +665,8 @@ Index: libffi/Makefile.am
 +lib_LTLIBRARIES = libffi.la
  noinst_LTLIBRARIES = libffi_convenience.la
  
- libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
+-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
++libffi_la_SOURCES = src/prep_cif.c src/types.c \
                src/raw_api.c src/java_raw_api.c src/closures.c
  
 +pkgconfigdir = $(libdir)/pkgconfig
@@ -664,17 +674,52 @@ Index: libffi/Makefile.am
 +
  nodist_libffi_la_SOURCES =
  
++if FFI_DEBUG
++nodist_libffi_la_SOURCES += src/debug.c
++endif
++
  if MIPS
-@@ -171,17 +181,12 @@ nodist_libffi_convenience_la_SOURCES = $
- AM_CFLAGS = -Wall -g -fexceptions
--LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
+ nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S
+ endif
+@@ -136,6 +147,9 @@ nodist_libffi_la_SOURCES += src/powerpc/
+ endif
+ if ARM
+ nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
++if FFI_EXEC_TRAMPOLINE_TABLE
++nodist_libffi_la_SOURCES += src/arm/trampoline.S
++endif
+ endif
+ if AVR32
+ nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
+@@ -146,6 +160,9 @@ endif
+ if FRV
+ nodist_libffi_la_SOURCES += src/frv/eabi.S src/frv/ffi.c
+ endif
++if MOXIE
++nodist_libffi_la_SOURCES += src/moxie/eabi.S src/moxie/ffi.c
++endif
+ if S390
+ nodist_libffi_la_SOURCES += src/s390/sysv.S src/s390/ffi.c
+ endif
+@@ -168,19 +185,19 @@ endif
+ libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
+ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
+-AM_CFLAGS = -Wall -g -fexceptions
 -
+-LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++AM_CFLAGS = -g
++if FFI_DEBUG
++# Build debug. Define FFI_DEBUG on the commandline so that, when building with
++# MSVC, it can link against the debug CRT.
++AM_CFLAGS += -DFFI_DEBUG
++endif
  libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
  
  AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
- AM_CCASFLAGS = $(AM_CPPFLAGS)
+-AM_CCASFLAGS = $(AM_CPPFLAGS)
++AM_CCASFLAGS = $(AM_CPPFLAGS) -g
  
 -# Multilib support.  Automake should provide these on its own.
 -all-recursive: all-multi
@@ -813,7 +858,22 @@ Index: libffi/configure
  PACKAGE_URL=''
  
  # Factoring default headers for most tests.
-@@ -640,6 +651,8 @@ POWERPC_AIX_FALSE
+@@ -606,8 +617,14 @@ LTLIBOBJS
+ LIBOBJS
+ toolexeclibdir
+ toolexecdir
++FFI_DEBUG_FALSE
++FFI_DEBUG_TRUE
+ TARGETDIR
+ TARGET
++FFI_EXEC_TRAMPOLINE_TABLE
++FFI_EXEC_TRAMPOLINE_TABLE_FALSE
++FFI_EXEC_TRAMPOLINE_TABLE_TRUE
++sys_symbol_underscore
+ HAVE_LONG_DOUBLE
+ ALLOCA
+ PA64_HPUX_FALSE
+@@ -640,6 +657,8 @@ POWERPC_AIX_FALSE
  POWERPC_AIX_TRUE
  POWERPC_FALSE
  POWERPC_TRUE
@@ -822,7 +882,14 @@ Index: libffi/configure
  M68K_FALSE
  M68K_TRUE
  M32R_FALSE
-@@ -675,8 +688,11 @@ OTOOL
+@@ -669,14 +688,18 @@ TESTSUBDIR_TRUE
+ MAINT
+ MAINTAINER_MODE_FALSE
+ MAINTAINER_MODE_TRUE
++PRTDIAG
+ CPP
+ OTOOL64
+ OTOOL
  LIPO
  NMEDIT
  DSYMUTIL
@@ -834,7 +901,15 @@ Index: libffi/configure
  OBJDUMP
  LN_S
  NM
-@@ -744,7 +760,6 @@ build_os
+@@ -732,6 +755,7 @@ am__isrc
+ INSTALL_DATA
+ INSTALL_SCRIPT
+ INSTALL_PROGRAM
++ax_enable_builddir_sed
+ target_os
+ target_vendor
+ target_cpu
+@@ -744,7 +768,6 @@ build_os
  build_vendor
  build_cpu
  build
@@ -842,11 +917,12 @@ Index: libffi/configure
  target_alias
  host_alias
  build_alias
-@@ -786,13 +801,13 @@ SHELL'
+@@ -786,14 +809,17 @@ SHELL'
  ac_subst_files=''
  ac_user_opts='
  enable_option_checking
 -enable_multilib
++enable_builddir
  enable_dependency_tracking
  enable_shared
  enable_static
@@ -855,9 +931,12 @@ Index: libffi/configure
  with_gnu_ld
 +with_sysroot
  enable_libtool_lock
++enable_portable_binary
++with_gcc_arch
  enable_maintainer_mode
  enable_debug
-@@ -869,8 +884,9 @@ do
+ enable_structs
+@@ -869,8 +895,9 @@ do
    fi
  
    case $ac_option in
@@ -869,7 +948,7 @@ Index: libffi/configure
    esac
  
    # Accept the important Cygnus configure options, so we can diagnose typos.
-@@ -915,7 +931,7 @@ do
+@@ -915,7 +942,7 @@ do
      ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
      # Reject names that are not valid shell variable names.
      expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
@@ -878,7 +957,7 @@ Index: libffi/configure
      ac_useropt_orig=$ac_useropt
      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
      case $ac_user_opts in
-@@ -941,7 +957,7 @@ do
+@@ -941,7 +968,7 @@ do
      ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
      # Reject names that are not valid shell variable names.
      expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
@@ -887,7 +966,7 @@ Index: libffi/configure
      ac_useropt_orig=$ac_useropt
      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
      case $ac_user_opts in
-@@ -1145,7 +1161,7 @@ do
+@@ -1145,7 +1172,7 @@ do
      ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
      # Reject names that are not valid shell variable names.
      expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
@@ -896,7 +975,7 @@ Index: libffi/configure
      ac_useropt_orig=$ac_useropt
      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
      case $ac_user_opts in
-@@ -1161,7 +1177,7 @@ do
+@@ -1161,7 +1188,7 @@ do
      ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
      # Reject names that are not valid shell variable names.
      expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
@@ -905,7 +984,7 @@ Index: libffi/configure
      ac_useropt_orig=$ac_useropt
      ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
      case $ac_user_opts in
-@@ -1191,8 +1207,8 @@ do
+@@ -1191,8 +1218,8 @@ do
    | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
      x_libraries=$ac_optarg ;;
  
@@ -916,7 +995,7 @@ Index: libffi/configure
      ;;
  
    *=*)
-@@ -1200,7 +1216,7 @@ Try \`$0 --help' for more information."
+@@ -1200,7 +1227,7 @@ Try \`$0 --help' for more information."
      # Reject names that are not valid shell variable names.
      case $ac_envvar in #(
        '' | [0-9]* | *[!_$as_cr_alnum]* )
@@ -925,7 +1004,7 @@ Index: libffi/configure
      esac
      eval $ac_envvar=\$ac_optarg
      export $ac_envvar ;;
-@@ -1210,7 +1226,7 @@ Try \`$0 --help' for more information."
+@@ -1210,7 +1237,7 @@ Try \`$0 --help' for more information."
      $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
      expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
        $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
@@ -934,7 +1013,7 @@ Index: libffi/configure
      ;;
  
    esac
-@@ -1218,13 +1234,13 @@ done
+@@ -1218,13 +1245,13 @@ done
  
  if test -n "$ac_prev"; then
    ac_option=--`echo $ac_prev | sed 's/_/-/g'`
@@ -950,7 +1029,7 @@ Index: libffi/configure
      *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
    esac
  fi
-@@ -1247,7 +1263,7 @@ do
+@@ -1247,7 +1274,7 @@ do
      [\\/$]* | ?:[\\/]* )  continue;;
      NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
    esac
@@ -959,7 +1038,7 @@ Index: libffi/configure
  done
  
  # There might be people who depend on the old broken behavior: `$host'
-@@ -1261,8 +1277,8 @@ target=$target_alias
+@@ -1261,8 +1288,8 @@ target=$target_alias
  if test "x$host_alias" != x; then
    if test "x$build_alias" = x; then
      cross_compiling=maybe
@@ -970,7 +1049,7 @@ Index: libffi/configure
    elif test "x$build_alias" != "x$host_alias"; then
      cross_compiling=yes
    fi
-@@ -1277,9 +1293,9 @@ test "$silent" = yes && exec 6>/dev/null
+@@ -1277,9 +1304,9 @@ test "$silent" = yes && exec 6>/dev/null
  ac_pwd=`pwd` && test -n "$ac_pwd" &&
  ac_ls_di=`ls -di .` &&
  ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
@@ -982,7 +1061,7 @@ Index: libffi/configure
  
  
  # Find the source files, if location was not specified.
-@@ -1318,11 +1334,11 @@ else
+@@ -1318,11 +1345,11 @@ else
  fi
  if test ! -r "$srcdir/$ac_unique_file"; then
    test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
@@ -996,7 +1075,7 @@ Index: libffi/configure
        pwd)`
  # When building in place, set srcdir=.
  if test "$ac_abs_confdir" = "$ac_pwd"; then
-@@ -1348,7 +1364,7 @@ if test "$ac_init_help" = "long"; then
+@@ -1348,7 +1375,7 @@ if test "$ac_init_help" = "long"; then
    # Omit some internal or obsolete options to make the list less imposing.
    # This message is too long to be a string in the A/UX 3.1 sh.
    cat <<_ACEOF
@@ -1005,7 +1084,7 @@ Index: libffi/configure
  
  Usage: $0 [OPTION]... [VAR=VALUE]...
  
-@@ -1362,7 +1378,7 @@ Configuration:
+@@ -1362,7 +1389,7 @@ Configuration:
        --help=short        display options specific to this package
        --help=recursive    display the short help of all the included packages
    -V, --version           display version information and exit
@@ -1014,7 +1093,7 @@ Index: libffi/configure
        --cache-file=FILE   cache test results in FILE [disabled]
    -C, --config-cache      alias for \`--cache-file=config.cache'
    -n, --no-create         do not create output files
-@@ -1419,7 +1435,7 @@ fi
+@@ -1419,7 +1446,7 @@ fi
  
  if test -n "$ac_init_help"; then
    case $ac_init_help in
@@ -1023,24 +1102,38 @@ Index: libffi/configure
     esac
    cat <<\_ACEOF
  
-@@ -1427,7 +1443,6 @@ Optional Features:
+@@ -1427,7 +1454,8 @@ Optional Features:
    --disable-option-checking  ignore unrecognized --enable/--with options
    --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
    --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
 -  --enable-multilib       build many library versions (default)
++  --disable-builddir      disable automatic build in subdir of sources
++
    --disable-dependency-tracking  speeds up one-time build
    --enable-dependency-tracking   do not reject slow dependency extractors
    --enable-shared[=PKGS]  build shared libraries [default=yes]
-@@ -1448,6 +1463,8 @@ Optional Packages:
+@@ -1435,6 +1463,9 @@ Optional Features:
+   --enable-fast-install[=PKGS]
+                           optimize for fast installation [default=yes]
+   --disable-libtool-lock  avoid locking (might break parallel builds)
++  --enable-portable-binary
++                          disable compiler optimizations that would produce
++                          unportable binaries
+   --enable-maintainer-mode  enable make rules and dependencies not useful
+                         (and sometimes confusing) to the casual installer
+   --enable-debug          debugging mode
+@@ -1448,6 +1479,10 @@ Optional Packages:
    --with-pic              try to use only PIC/non-PIC objects [default=use
                            both]
    --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
 +  --with-sysroot=DIR Search for dependent libraries within DIR
 +                        (or the compiler's sysroot if not specified).
++  --with-gcc-arch=<arch>  use architecture <arch> for gcc -march/-mtune,
++                          instead of guessing
  
  Some influential environment variables:
    CC          C compiler command
-@@ -1455,7 +1472,7 @@ Some influential environment variables:
+@@ -1455,7 +1490,7 @@ Some influential environment variables:
    LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
                nonstandard directory <lib dir>
    LIBS        libraries to pass to the linker, e.g. -l<library>
@@ -1049,7 +1142,7 @@ Index: libffi/configure
                you have headers in a nonstandard directory <include dir>
    CCAS        assembler compiler command (defaults to CC)
    CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
-@@ -1464,7 +1481,7 @@ Some influential environment variables:
+@@ -1464,7 +1499,7 @@ Some influential environment variables:
  Use these variables to override the choices made by `configure' or to help
  it to find libraries and programs with nonstandard names/locations.
  
@@ -1058,7 +1151,7 @@ Index: libffi/configure
  _ACEOF
  ac_status=$?
  fi
-@@ -1527,10 +1544,10 @@ fi
+@@ -1527,10 +1562,10 @@ fi
  test -n "$ac_init_help" && exit $ac_status
  if $ac_init_version; then
    cat <<\_ACEOF
@@ -1072,7 +1165,7 @@ Index: libffi/configure
  This configure script is free software; the Free Software Foundation
  gives unlimited permission to copy, distribute and modify it.
  _ACEOF
-@@ -1574,8 +1591,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -1574,8 +1609,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
  
        ac_retval=1
  fi
@@ -1083,7 +1176,7 @@ Index: libffi/configure
  
  } # ac_fn_c_try_compile
  
-@@ -1620,8 +1637,8 @@ fi
+@@ -1620,8 +1655,8 @@ fi
    # interfere with the next link command; also delete a directory that is
    # left behind by Apple's compiler.  We do this before executing the actions.
    rm -rf conftest.dSYM conftest_ipa8_conftest.oo
@@ -1094,7 +1187,7 @@ Index: libffi/configure
  
  } # ac_fn_c_try_link
  
-@@ -1634,7 +1651,7 @@ ac_fn_c_check_header_compile ()
+@@ -1634,7 +1669,7 @@ ac_fn_c_check_header_compile ()
    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  $as_echo_n "checking for $2... " >&6; }
@@ -1103,7 +1196,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -1652,7 +1669,7 @@ fi
+@@ -1652,7 +1687,7 @@ fi
  eval ac_res=\$$3
               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  $as_echo "$ac_res" >&6; }
@@ -1112,7 +1205,7 @@ Index: libffi/configure
  
  } # ac_fn_c_check_header_compile
  
-@@ -1677,7 +1694,7 @@ $as_echo "$ac_try_echo"; } >&5
+@@ -1677,7 +1712,7 @@ $as_echo "$ac_try_echo"; } >&5
      mv -f conftest.er1 conftest.err
    fi
    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
@@ -1121,7 +1214,7 @@ Index: libffi/configure
         test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
         test ! -s conftest.err
         }; then :
-@@ -1688,8 +1705,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -1688,8 +1723,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
  
      ac_retval=1
  fi
@@ -1132,7 +1225,7 @@ Index: libffi/configure
  
  } # ac_fn_c_try_cpp
  
-@@ -1730,8 +1747,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -1730,8 +1765,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
         ac_retval=$ac_status
  fi
    rm -rf conftest.dSYM conftest_ipa8_conftest.oo
@@ -1143,7 +1236,7 @@ Index: libffi/configure
  
  } # ac_fn_c_try_run
  
-@@ -1743,7 +1760,7 @@ ac_fn_c_check_func ()
+@@ -1743,7 +1778,7 @@ ac_fn_c_check_func ()
    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  $as_echo_n "checking for $2... " >&6; }
@@ -1152,7 +1245,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -1798,7 +1815,7 @@ fi
+@@ -1798,7 +1833,7 @@ fi
  eval ac_res=\$$3
               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  $as_echo "$ac_res" >&6; }
@@ -1161,7 +1254,7 @@ Index: libffi/configure
  
  } # ac_fn_c_check_func
  
-@@ -1810,10 +1827,10 @@ $as_echo "$ac_res" >&6; }
+@@ -1810,10 +1845,10 @@ $as_echo "$ac_res" >&6; }
  ac_fn_c_check_header_mongrel ()
  {
    as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
@@ -1174,7 +1267,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  fi
  eval ac_res=\$$3
-@@ -1849,7 +1866,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
+@@ -1849,7 +1884,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
  else
    ac_header_preproc=no
  fi
@@ -1183,7 +1276,7 @@ Index: libffi/configure
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
  $as_echo "$ac_header_preproc" >&6; }
  
-@@ -1872,17 +1889,15 @@ $as_echo "$as_me: WARNING: $2: see the A
+@@ -1872,17 +1907,15 @@ $as_echo "$as_me: WARNING: $2: see the A
  $as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
  $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
@@ -1205,7 +1298,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    eval "$3=\$ac_header_compiler"
-@@ -1891,10 +1906,64 @@ eval ac_res=\$$3
+@@ -1891,10 +1924,64 @@ eval ac_res=\$$3
               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  $as_echo "$ac_res" >&6; }
  fi
@@ -1271,7 +1364,7 @@ Index: libffi/configure
  # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
  # --------------------------------------------
  # Tries to find the compile-time value of EXPR in a program that includes
-@@ -2068,16 +2137,16 @@ rm -f core *.core core.conftest.* gmon.o
+@@ -2068,16 +2155,16 @@ rm -f core *.core core.conftest.* gmon.o
  rm -f conftest.val
  
    fi
@@ -1292,7 +1385,7 @@ Index: libffi/configure
  
    $ $0 $@
  
-@@ -2187,11 +2256,9 @@ trap 'exit_status=$?
+@@ -2187,11 +2274,9 @@ trap 'exit_status=$?
    {
      echo
  
@@ -1306,7 +1399,7 @@ Index: libffi/configure
      echo
      # The following way of writing the cache mishandles newlines in values,
  (
-@@ -2225,11 +2292,9 @@ $as_echo "$as_me: WARNING: cache variabl
+@@ -2225,11 +2310,9 @@ $as_echo "$as_me: WARNING: cache variabl
  )
      echo
  
@@ -1320,7 +1413,7 @@ Index: libffi/configure
      echo
      for ac_var in $ac_subst_vars
      do
-@@ -2242,11 +2307,9 @@ _ASBOX
+@@ -2242,11 +2325,9 @@ _ASBOX
      echo
  
      if test -n "$ac_subst_files"; then
@@ -1334,7 +1427,7 @@ Index: libffi/configure
        echo
        for ac_var in $ac_subst_files
        do
-@@ -2260,11 +2323,9 @@ _ASBOX
+@@ -2260,11 +2341,9 @@ _ASBOX
      fi
  
      if test -s confdefs.h; then
@@ -1348,7 +1441,7 @@ Index: libffi/configure
        echo
        cat confdefs.h
        echo
-@@ -2319,7 +2380,12 @@ _ACEOF
+@@ -2319,7 +2398,12 @@ _ACEOF
  ac_site_file1=NONE
  ac_site_file2=NONE
  if test -n "$CONFIG_SITE"; then
@@ -1362,7 +1455,7 @@ Index: libffi/configure
  elif test "x$prefix" != xNONE; then
    ac_site_file1=$prefix/share/config.site
    ac_site_file2=$prefix/etc/config.site
-@@ -2330,18 +2396,22 @@ fi
+@@ -2330,18 +2414,22 @@ fi
  for ac_site_file in "$ac_site_file1" "$ac_site_file2"
  do
    test "x$ac_site_file" = xNONE && continue
@@ -1390,7 +1483,7 @@ Index: libffi/configure
      { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
  $as_echo "$as_me: loading cache $cache_file" >&6;}
      case $cache_file in
-@@ -2410,7 +2480,7 @@ if $ac_cache_corrupted; then
+@@ -2410,7 +2498,7 @@ if $ac_cache_corrupted; then
  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
    { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
  $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
@@ -1399,7 +1492,7 @@ Index: libffi/configure
  fi
  ## -------------------- ##
  ## Main body of script. ##
-@@ -2423,62 +2493,27 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
+@@ -2423,62 +2511,27 @@ ac_link='$CC -o conftest$ac_exeext $CFLA
  ac_compiler_gnu=$ac_cv_c_compiler_gnu
  
  
@@ -1476,7 +1569,7 @@ Index: libffi/configure
  fi
  
  # These three variables are undocumented and unsupported,
-@@ -2492,27 +2527,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
+@@ -2492,27 +2545,27 @@ ac_configure="$SHELL $ac_aux_dir/configu
  
  # Make sure we can run config.sub.
  $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
@@ -1509,7 +1602,7 @@ Index: libffi/configure
  esac
  build=$ac_cv_build
  ac_save_IFS=$IFS; IFS='-'
-@@ -2530,14 +2565,14 @@ case $build_os in *\ *) build_os=`echo "
+@@ -2530,14 +2583,14 @@ case $build_os in *\ *) build_os=`echo "
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
  $as_echo_n "checking host system type... " >&6; }
@@ -1526,7 +1619,7 @@ Index: libffi/configure
  fi
  
  fi
-@@ -2545,7 +2580,7 @@ fi
+@@ -2545,7 +2598,7 @@ fi
  $as_echo "$ac_cv_host" >&6; }
  case $ac_cv_host in
  *-*-*) ;;
@@ -1535,7 +1628,7 @@ Index: libffi/configure
  esac
  host=$ac_cv_host
  ac_save_IFS=$IFS; IFS='-'
-@@ -2563,14 +2598,14 @@ case $host_os in *\ *) host_os=`echo "$h
+@@ -2563,14 +2616,14 @@ case $host_os in *\ *) host_os=`echo "$h
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
  $as_echo_n "checking target system type... " >&6; }
@@ -1552,7 +1645,7 @@ Index: libffi/configure
  fi
  
  fi
-@@ -2578,7 +2613,7 @@ fi
+@@ -2578,7 +2631,7 @@ fi
  $as_echo "$ac_cv_target" >&6; }
  case $ac_cv_target in
  *-*-*) ;;
@@ -1561,7 +1654,118 @@ Index: libffi/configure
  esac
  target=$ac_cv_target
  ac_save_IFS=$IFS; IFS='-'
-@@ -2624,7 +2659,7 @@ am__api_version='1.11'
+@@ -2605,6 +2658,110 @@ target_alias=${target_alias-$host_alias}
+ . ${srcdir}/configure.host
++
++   # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
++   if test "${ac_configure_args+set}" != "set" ; then
++      ac_configure_args=
++      for ac_arg in ${1+"$@"}; do
++         ac_configure_args="$ac_configure_args '$ac_arg'"
++      done
++   fi
++
++# expand $ac_aux_dir to an absolute path
++am_aux_dir=`cd $ac_aux_dir && pwd`
++
++
++ax_enable_builddir="."
++# Check whether --enable-builddir was given.
++if test "${enable_builddir+set}" = set; then :
++  enableval=$enable_builddir; ax_enable_builddir="$enableval"
++else
++  ax_enable_builddir="auto"
++fi
++
++if test ".$ac_srcdir_defaulted" != ".no" ; then
++if test ".$srcdir" = ".." ; then
++  if test -f config.status ; then
++    { $as_echo "$as_me:${as_lineno-$LINENO}: toplevel srcdir already configured... skipping subdir build" >&5
++$as_echo "$as_me: toplevel srcdir already configured... skipping subdir build" >&6;}
++  else
++    test ".$ax_enable_builddir" = "."  && ax_enable_builddir="."
++    test ".$ax_enable_builddir" = ".no"  && ax_enable_builddir="."
++    test ".$TARGET" = "." && TARGET="$target"
++    test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="$TARGET"
++    if test ".$ax_enable_builddir" != ".." ; then    # we know where to go and
++      as_dir=$ax_enable_builddir; as_fn_mkdir_p
++      echo __.$ax_enable_builddir.__ > $ax_enable_builddir/conftest.tmp
++      cd $ax_enable_builddir
++      if grep __.$ax_enable_builddir.__ conftest.tmp >/dev/null 2>/dev/null ; then
++        rm conftest.tmp
++        { $as_echo "$as_me:${as_lineno-$LINENO}: result: continue configure in default builddir \"./$ax_enable_builddir\"" >&5
++$as_echo "continue configure in default builddir \"./$ax_enable_builddir\"" >&6; }
++      else
++        as_fn_error $? "could not change to default builddir \"./$ax_enable_builddir\"" "$LINENO" 5
++      fi
++      srcdir=`echo "$ax_enable_builddir" |
++              sed -e 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g;s,[/]$,,;'`
++      # going to restart from subdirectory location
++      test -f $srcdir/config.log   && mv $srcdir/config.log   .
++      test -f $srcdir/confdefs.h   && mv $srcdir/confdefs.h   .
++      test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
++      test -f $srcdir/$cache_file  && mv $srcdir/$cache_file  .
++      { $as_echo "$as_me:${as_lineno-$LINENO}: result: ....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&5
++$as_echo "....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&6; }
++      case "$0" in # restart
++       /\\*) eval $SHELL "'$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
++       *) eval $SHELL "'$srcdir/$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
++      esac ; exit $?
++    fi
++  fi
++fi fi
++test ".$ax_enable_builddir" = ".auto" && ax_enable_builddir="."
++# Extract the first word of "gsed sed", so it can be a program name with args.
++set dummy gsed sed; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_path_ax_enable_builddir_sed+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  case $ax_enable_builddir_sed in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_ax_enable_builddir_sed="$ax_enable_builddir_sed" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_path_ax_enable_builddir_sed="$as_dir/$ac_word$ac_exec_ext"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++  test -z "$ac_cv_path_ax_enable_builddir_sed" && ac_cv_path_ax_enable_builddir_sed="sed"
++  ;;
++esac
++fi
++ax_enable_builddir_sed=$ac_cv_path_ax_enable_builddir_sed
++if test -n "$ax_enable_builddir_sed"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_enable_builddir_sed" >&5
++$as_echo "$ax_enable_builddir_sed" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++ax_enable_builddir_auxdir="$am_aux_dir"
++ac_config_commands="$ac_config_commands buildir"
++
++
+ am__api_version='1.11'
+ # Find a good install program.  We prefer a C program (faster),
+@@ -2624,7 +2781,7 @@ am__api_version='1.11'
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
  $as_echo_n "checking for a BSD-compatible install... " >&6; }
  if test -z "$INSTALL"; then
@@ -1570,7 +1774,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-@@ -2711,11 +2746,11 @@ am_lf='
+@@ -2711,11 +2868,11 @@ am_lf='
  '
  case `pwd` in
    *[\\\"\#\$\&\'\`$am_lf]*)
@@ -1584,7 +1788,7 @@ Index: libffi/configure
  esac
  
  # Do `set' in a subshell so we don't clobber the current shell's
-@@ -2737,7 +2772,7 @@ if (
+@@ -2737,7 +2894,7 @@ if (
        # if, for instance, CONFIG_SHELL is bash and it inherits a
        # broken ls alias from the environment.  This has actually
        # happened.  Such a system could not be considered "sane".
@@ -1593,7 +1797,7 @@ Index: libffi/configure
  alias in your environment" "$LINENO" 5
     fi
  
-@@ -2747,7 +2782,7 @@ then
+@@ -2747,7 +2904,7 @@ then
     # Ok.
     :
  else
@@ -1602,7 +1806,17 @@ Index: libffi/configure
  Check your system clock" "$LINENO" 5
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-@@ -2801,7 +2836,7 @@ if test "$cross_compiling" != no; then
+@@ -2762,9 +2919,6 @@ test "$program_suffix" != NONE &&
+ ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+-# expand $ac_aux_dir to an absolute path
+-am_aux_dir=`cd $ac_aux_dir && pwd`
+-
+ if test x"${MISSING+set}" != xset; then
+   case $am_aux_dir in
+   *\ * | *\   *)
+@@ -2801,7 +2955,7 @@ if test "$cross_compiling" != no; then
  set dummy ${ac_tool_prefix}strip; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -1611,7 +1825,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$STRIP"; then
-@@ -2841,7 +2876,7 @@ if test -z "$ac_cv_prog_STRIP"; then
+@@ -2841,7 +2995,7 @@ if test -z "$ac_cv_prog_STRIP"; then
  set dummy strip; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -1620,7 +1834,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_STRIP"; then
-@@ -2894,7 +2929,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c
+@@ -2894,7 +3048,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
  $as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
  if test -z "$MKDIR_P"; then
@@ -1629,7 +1843,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-@@ -2919,6 +2954,7 @@ IFS=$as_save_IFS
+@@ -2919,6 +3073,7 @@ IFS=$as_save_IFS
  
  fi
  
@@ -1637,7 +1851,7 @@ Index: libffi/configure
    if test "${ac_cv_path_mkdir+set}" = set; then
      MKDIR_P="$ac_cv_path_mkdir -p"
    else
-@@ -2926,7 +2962,6 @@ fi
+@@ -2926,7 +3081,6 @@ fi
      # value for MKDIR_P within a source directory, because that will
      # break other packages using the cache if that directory is
      # removed, or if the value is a relative name.
@@ -1645,7 +1859,7 @@ Index: libffi/configure
      MKDIR_P="$ac_install_sh -d"
    fi
  fi
-@@ -2945,7 +2980,7 @@ do
+@@ -2945,7 +3099,7 @@ do
  set dummy $ac_prog; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -1654,7 +1868,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$AWK"; then
-@@ -2985,7 +3020,7 @@ done
+@@ -2985,7 +3139,7 @@ done
  $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
  set x ${MAKE-make}
  ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
@@ -1663,7 +1877,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat >conftest.make <<\_ACEOF
-@@ -2993,7 +3028,7 @@ SHELL = /bin/sh
+@@ -2993,7 +3147,7 @@ SHELL = /bin/sh
  all:
        @echo '@@@%%%=$(MAKE)=@@@%%%'
  _ACEOF
@@ -1672,7 +1886,7 @@ Index: libffi/configure
  case `${MAKE-make} -f conftest.make 2>/dev/null` in
    *@@@%%%=?*=@@@%%%*)
      eval ac_cv_prog_make_${ac_make}_set=yes;;
-@@ -3027,7 +3062,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"
+@@ -3027,7 +3181,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"
    am__isrc=' -I$(srcdir)'
    # test to see if srcdir already configured
    if test -f $srcdir/config.status; then
@@ -1681,7 +1895,7 @@ Index: libffi/configure
    fi
  fi
  
-@@ -3043,7 +3078,7 @@ fi
+@@ -3043,7 +3197,7 @@ fi
  
  # Define the identity of the package.
   PACKAGE='libffi'
@@ -1690,7 +1904,20 @@ Index: libffi/configure
  
  
  cat >>confdefs.h <<_ACEOF
-@@ -3101,7 +3136,7 @@ if test -n "$ac_tool_prefix"; then
+@@ -3088,9 +3242,12 @@ am__tar='${AMTAR} chof - "$$tardir"'; am
+ # We must force CC to /not/ be precious variables; otherwise
+ # the wrong, non-multilib-adjusted value will be used in multilibs.
+ # As a side effect, we have to subst CFLAGS ourselves.
++# Also save and restore CFLAGS, since AC_PROG_CC will come up with
++# defaults of its own if none are provided.
++save_CFLAGS=$CFLAGS
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -3101,7 +3258,7 @@ if test -n "$ac_tool_prefix"; then
  set dummy ${ac_tool_prefix}gcc; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -1699,7 +1926,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$CC"; then
-@@ -3141,7 +3176,7 @@ if test -z "$ac_cv_prog_CC"; then
+@@ -3141,7 +3298,7 @@ if test -z "$ac_cv_prog_CC"; then
  set dummy gcc; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -1708,7 +1935,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_CC"; then
-@@ -3194,7 +3229,7 @@ if test -z "$CC"; then
+@@ -3194,7 +3351,7 @@ if test -z "$CC"; then
  set dummy ${ac_tool_prefix}cc; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -1717,7 +1944,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$CC"; then
-@@ -3234,7 +3269,7 @@ if test -z "$CC"; then
+@@ -3234,7 +3391,7 @@ if test -z "$CC"; then
  set dummy cc; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -1726,7 +1953,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$CC"; then
-@@ -3293,7 +3328,7 @@ if test -z "$CC"; then
+@@ -3293,7 +3450,7 @@ if test -z "$CC"; then
  set dummy $ac_tool_prefix$ac_prog; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -1735,7 +1962,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$CC"; then
-@@ -3337,7 +3372,7 @@ do
+@@ -3337,7 +3494,7 @@ do
  set dummy $ac_prog; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -1744,7 +1971,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_CC"; then
-@@ -3391,8 +3426,8 @@ fi
+@@ -3391,8 +3548,8 @@ fi
  
  test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -1755,7 +1982,7 @@ Index: libffi/configure
  
  # Provide some information about the compiler.
  $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-@@ -3413,8 +3448,8 @@ $as_echo "$ac_try_echo"; } >&5
+@@ -3413,8 +3570,8 @@ $as_echo "$ac_try_echo"; } >&5
  ... rest of stderr output deleted ...
           10q' conftest.err >conftest.er1
      cat conftest.er1 >&5
@@ -1765,7 +1992,7 @@ Index: libffi/configure
    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    test $ac_status = 0; }
  done
-@@ -3431,12 +3466,12 @@ main ()
+@@ -3431,12 +3588,12 @@ main ()
  }
  _ACEOF
  ac_clean_files_save=$ac_clean_files
@@ -1781,7 +2008,7 @@ Index: libffi/configure
  ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
  
  # The possible output files:
-@@ -3498,62 +3533,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
+@@ -3498,62 +3655,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
  else
    ac_file=''
  fi
@@ -1857,7 +2084,7 @@ Index: libffi/configure
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
  $as_echo_n "checking for suffix of executables... " >&6; }
  if { { ac_try="$ac_link"
-@@ -3583,19 +3584,78 @@ done
+@@ -3583,19 +3706,78 @@ done
  else
    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -1940,7 +2167,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -3635,8 +3695,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
+@@ -3635,8 +3817,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
  
  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -1951,7 +2178,7 @@ Index: libffi/configure
  fi
  rm -f conftest.$ac_cv_objext conftest.$ac_ext
  fi
-@@ -3646,7 +3706,7 @@ OBJEXT=$ac_cv_objext
+@@ -3646,7 +3828,7 @@ OBJEXT=$ac_cv_objext
  ac_objext=$OBJEXT
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
  $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
@@ -1960,7 +2187,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -3683,7 +3743,7 @@ ac_test_CFLAGS=${CFLAGS+set}
+@@ -3683,7 +3865,7 @@ ac_test_CFLAGS=${CFLAGS+set}
  ac_save_CFLAGS=$CFLAGS
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
  $as_echo_n "checking whether $CC accepts -g... " >&6; }
@@ -1969,7 +2196,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_save_c_werror_flag=$ac_c_werror_flag
-@@ -3761,7 +3821,7 @@ else
+@@ -3761,7 +3943,7 @@ else
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
  $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
@@ -1978,7 +2205,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_cv_prog_cc_c89=no
-@@ -3922,7 +3982,7 @@ depcc="$CC"   am_compiler_list=
+@@ -3922,7 +4104,7 @@ depcc="$CC"   am_compiler_list=
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
  $as_echo_n "checking dependency style of $depcc... " >&6; }
@@ -1987,15 +2214,16 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-@@ -4049,6 +4109,7 @@ fi
+@@ -4045,6 +4227,8 @@ else
+ fi
  
  
++CFLAGS=$save_CFLAGS
 +
- # By default we simply use the C compiler to build assembly code.
  
- test "${CCAS+set}" = set || CCAS=$CC
-@@ -4060,7 +4121,7 @@ depcc="$CCAS"   am_compiler_list=
+@@ -4060,7 +4244,7 @@ depcc="$CCAS"   am_compiler_list=
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
  $as_echo_n "checking dependency style of $depcc... " >&6; }
@@ -2004,7 +2232,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-@@ -4190,7 +4251,7 @@ $as_echo_n "checking whether cc understa
+@@ -4190,7 +4374,7 @@ $as_echo_n "checking whether cc understa
  fi
  set dummy $CC; ac_cc=`$as_echo "$2" |
                      sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
@@ -2013,7 +2241,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -4315,8 +4376,8 @@ esac
+@@ -4315,8 +4499,8 @@ esac
  
  
  
@@ -2024,7 +2252,7 @@ Index: libffi/configure
  
  
  
-@@ -4356,7 +4417,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -4356,7 +4540,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
  $as_echo_n "checking how to print strings... " >&6; }
  # Test print first, because it will be a builtin if present.
@@ -2033,7 +2261,7 @@ Index: libffi/configure
     test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
    ECHO='print -r --'
  elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -4403,7 +4464,7 @@ esac
+@@ -4403,7 +4587,7 @@ esac
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
  $as_echo_n "checking for a sed that does not truncate output... " >&6; }
@@ -2042,7 +2270,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
              ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-@@ -4458,7 +4519,7 @@ esac
+@@ -4458,7 +4642,7 @@ esac
    done
  IFS=$as_save_IFS
    if test -z "$ac_cv_path_SED"; then
@@ -2051,7 +2279,7 @@ Index: libffi/configure
    fi
  else
    ac_cv_path_SED=$SED
-@@ -4485,7 +4546,7 @@ Xsed="$SED -e 1s/^X//"
+@@ -4485,7 +4669,7 @@ Xsed="$SED -e 1s/^X//"
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
  $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
@@ -2060,7 +2288,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -z "$GREP"; then
-@@ -4534,7 +4595,7 @@ esac
+@@ -4534,7 +4718,7 @@ esac
    done
  IFS=$as_save_IFS
    if test -z "$ac_cv_path_GREP"; then
@@ -2069,7 +2297,7 @@ Index: libffi/configure
    fi
  else
    ac_cv_path_GREP=$GREP
-@@ -4548,7 +4609,7 @@ $as_echo "$ac_cv_path_GREP" >&6; }
+@@ -4548,7 +4732,7 @@ $as_echo "$ac_cv_path_GREP" >&6; }
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
  $as_echo_n "checking for egrep... " >&6; }
@@ -2078,7 +2306,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-@@ -4600,7 +4661,7 @@ esac
+@@ -4600,7 +4784,7 @@ esac
    done
  IFS=$as_save_IFS
    if test -z "$ac_cv_path_EGREP"; then
@@ -2087,7 +2315,7 @@ Index: libffi/configure
    fi
  else
    ac_cv_path_EGREP=$EGREP
-@@ -4615,7 +4676,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
+@@ -4615,7 +4799,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
  $as_echo_n "checking for fgrep... " >&6; }
@@ -2096,7 +2324,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-@@ -4667,7 +4728,7 @@ esac
+@@ -4667,7 +4851,7 @@ esac
    done
  IFS=$as_save_IFS
    if test -z "$ac_cv_path_FGREP"; then
@@ -2105,7 +2333,7 @@ Index: libffi/configure
    fi
  else
    ac_cv_path_FGREP=$FGREP
-@@ -4746,7 +4807,7 @@ else
+@@ -4746,7 +4930,7 @@ else
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
  $as_echo_n "checking for non-GNU ld... " >&6; }
  fi
@@ -2114,7 +2342,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -z "$LD"; then
-@@ -4783,10 +4844,10 @@ else
+@@ -4783,10 +4967,10 @@ else
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
  fi
@@ -2127,7 +2355,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    # I'd rather use --version here, but apparently some GNU lds only accept -v.
-@@ -4813,7 +4874,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
+@@ -4813,7 +4997,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
  $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
@@ -2136,7 +2364,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$NM"; then
-@@ -4876,7 +4937,7 @@ else
+@@ -4876,7 +5060,7 @@ else
  set dummy $ac_tool_prefix$ac_prog; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -2145,7 +2373,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$DUMPBIN"; then
-@@ -4920,7 +4981,7 @@ do
+@@ -4920,7 +5104,7 @@ do
  set dummy $ac_prog; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -2154,7 +2382,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_DUMPBIN"; then
-@@ -4992,7 +5053,7 @@ test -z "$NM" && NM=nm
+@@ -4992,7 +5176,7 @@ test -z "$NM" && NM=nm
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
  $as_echo_n "checking the name lister ($NM) interface... " >&6; }
@@ -2163,7 +2391,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_nm_interface="BSD nm"
-@@ -5027,7 +5088,7 @@ fi
+@@ -5027,7 +5211,7 @@ fi
  # find the maximum length of command line arguments
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
  $as_echo_n "checking the maximum length of command line arguments... " >&6; }
@@ -2172,7 +2400,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
      i=0
-@@ -5172,8 +5233,8 @@ $as_echo_n "checking whether the shell u
+@@ -5172,8 +5356,8 @@ $as_echo_n "checking whether the shell u
  # Try some XSI features
  xsi_shell=no
  ( _lt_dummy="a/b/c"
@@ -2183,15 +2411,26 @@ Index: libffi/configure
      && eval 'test $(( 1 + 1 )) -eq 2 \
      && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
    && xsi_shell=yes
-@@ -5222,9 +5283,83 @@ esac
+@@ -5222,22 +5406,101 @@ esac
  
  
  
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+-$as_echo_n "checking for $LD option to reload object files... " >&6; }
+-if test "${lt_cv_ld_reload_flag+set}" = set; then :
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
 +if ${lt_cv_to_host_file_cmd+:} false; then :
-+  $as_echo_n "(cached) " >&6
-+else
+   $as_echo_n "(cached) " >&6
+ else
+-  lt_cv_ld_reload_flag='-r'
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+-$as_echo "$lt_cv_ld_reload_flag" >&6; }
+-reload_flag=$lt_cv_ld_reload_flag
+-case $reload_flag in
+-"" | " "*) ;;
+-*) reload_flag=" $reload_flag" ;;
 +  case $host in
 +  *-*-mingw* )
 +    case $build in
@@ -2261,14 +2500,19 @@ Index: libffi/configure
 +
 +
 +
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
- $as_echo_n "checking for $LD option to reload object files... " >&6; }
--if test "${lt_cv_ld_reload_flag+set}" = set; then :
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
++$as_echo_n "checking for $LD option to reload object files... " >&6; }
 +if ${lt_cv_ld_reload_flag+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   lt_cv_ld_reload_flag='-r'
-@@ -5238,6 +5373,11 @@ case $reload_flag in
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_ld_reload_flag='-r'
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
++$as_echo "$lt_cv_ld_reload_flag" >&6; }
++reload_flag=$lt_cv_ld_reload_flag
++case $reload_flag in
++"" | " "*) ;;
++*) reload_flag=" $reload_flag" ;;
  esac
  reload_cmds='$LD$reload_flag -o $output$reload_objs'
  case $host_os in
@@ -2280,7 +2524,7 @@ Index: libffi/configure
    darwin*)
      if test "$GCC" = yes; then
        reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -5260,7 +5400,7 @@ if test -n "$ac_tool_prefix"; then
+@@ -5260,7 +5523,7 @@ if test -n "$ac_tool_prefix"; then
  set dummy ${ac_tool_prefix}objdump; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -2289,7 +2533,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$OBJDUMP"; then
-@@ -5300,7 +5440,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
+@@ -5300,7 +5563,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
  set dummy objdump; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -2298,7 +2542,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_OBJDUMP"; then
-@@ -5359,7 +5499,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
+@@ -5359,7 +5622,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
  $as_echo_n "checking how to recognize dependent libraries... " >&6; }
@@ -2307,7 +2551,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_file_magic_cmd='$MAGIC_CMD'
-@@ -5406,7 +5546,8 @@ mingw* | pw32*)
+@@ -5406,7 +5669,8 @@ mingw* | pw32*)
      lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
      lt_cv_file_magic_cmd='func_win32_libid'
    else
@@ -2317,7 +2561,7 @@ Index: libffi/configure
      lt_cv_file_magic_cmd='$OBJDUMP -f'
    fi
    ;;
-@@ -5560,6 +5701,21 @@ esac
+@@ -5560,6 +5824,21 @@ esac
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
  $as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -2339,7 +2583,7 @@ Index: libffi/configure
  file_magic_cmd=$lt_cv_file_magic_cmd
  deplibs_check_method=$lt_cv_deplibs_check_method
  test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -5575,12 +5731,166 @@ test -z "$deplibs_check_method" && depli
+@@ -5575,12 +5854,166 @@ test -z "$deplibs_check_method" && depli
  
  
  
@@ -2509,7 +2753,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$AR"; then
-@@ -5593,7 +5903,7 @@ do
+@@ -5593,7 +6026,7 @@ do
    test -z "$as_dir" && as_dir=.
      for ac_exec_ext in '' $ac_executable_extensions; do
    if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
@@ -2518,7 +2762,7 @@ Index: libffi/configure
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -5613,14 +5923,18 @@ $as_echo "no" >&6; }
+@@ -5613,14 +6046,18 @@ $as_echo "no" >&6; }
  fi
  
  
@@ -2541,7 +2785,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_AR"; then
-@@ -5633,7 +5947,7 @@ do
+@@ -5633,7 +6070,7 @@ do
    test -z "$as_dir" && as_dir=.
      for ac_exec_ext in '' $ac_executable_extensions; do
    if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
@@ -2550,7 +2794,7 @@ Index: libffi/configure
      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
      break 2
    fi
-@@ -5652,6 +5966,10 @@ else
+@@ -5652,6 +6089,10 @@ else
  $as_echo "no" >&6; }
  fi
  
@@ -2561,7 +2805,7 @@ Index: libffi/configure
    if test "x$ac_ct_AR" = x; then
      AR="false"
    else
-@@ -5663,16 +5981,72 @@ ac_tool_warned=yes ;;
+@@ -5663,16 +6104,72 @@ ac_tool_warned=yes ;;
  esac
      AR=$ac_ct_AR
    fi
@@ -2581,7 +2825,7 @@ Index: libffi/configure
 +
 +
 +
-+
  
  
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
@@ -2625,7 +2869,7 @@ Index: libffi/configure
 +
 +fi
 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
 +fi
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
 +$as_echo "$lt_cv_ar_at_file" >&6; }
@@ -2638,7 +2882,7 @@ Index: libffi/configure
  
  
  
-@@ -5685,7 +6059,7 @@ if test -n "$ac_tool_prefix"; then
+@@ -5685,7 +6182,7 @@ if test -n "$ac_tool_prefix"; then
  set dummy ${ac_tool_prefix}strip; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -2647,7 +2891,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$STRIP"; then
-@@ -5725,7 +6099,7 @@ if test -z "$ac_cv_prog_STRIP"; then
+@@ -5725,7 +6222,7 @@ if test -z "$ac_cv_prog_STRIP"; then
  set dummy strip; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -2656,7 +2900,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_STRIP"; then
-@@ -5784,7 +6158,7 @@ if test -n "$ac_tool_prefix"; then
+@@ -5784,7 +6281,7 @@ if test -n "$ac_tool_prefix"; then
  set dummy ${ac_tool_prefix}ranlib; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -2665,7 +2909,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$RANLIB"; then
-@@ -5824,7 +6198,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
+@@ -5824,7 +6321,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
  set dummy ranlib; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -2674,7 +2918,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_RANLIB"; then
-@@ -5953,7 +6327,7 @@ compiler=$CC
+@@ -5953,7 +6450,7 @@ compiler=$CC
  # Check for command to grab the raw symbol name followed by C symbol from nm.
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
  $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
@@ -2683,7 +2927,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
  
-@@ -6014,8 +6388,8 @@ esac
+@@ -6014,8 +6511,8 @@ esac
  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
  
  # Transform an extracted symbol line into symbol name and symbol address
@@ -2694,7 +2938,7 @@ Index: libffi/configure
  
  # Handle CRLF in mingw tool chain
  opt_cr=
-@@ -6051,6 +6425,7 @@ for ac_symprfx in "" "_"; do
+@@ -6051,6 +6548,7 @@ for ac_symprfx in "" "_"; do
    else
      lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[    ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
    fi
@@ -2702,7 +2946,7 @@ Index: libffi/configure
  
    # Check to see that the pipe works correctly.
    pipe_works=no
-@@ -6092,6 +6467,18 @@ _LT_EOF
+@@ -6092,6 +6590,18 @@ _LT_EOF
        if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
        if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
          cat <<_LT_EOF > conftest.$ac_ext
@@ -2721,7 +2965,7 @@ Index: libffi/configure
  #ifdef __cplusplus
  extern "C" {
  #endif
-@@ -6103,7 +6490,7 @@ _LT_EOF
+@@ -6103,7 +6613,7 @@ _LT_EOF
          cat <<_LT_EOF >> conftest.$ac_ext
  
  /* The mapping between symbol names and symbols.  */
@@ -2730,7 +2974,7 @@ Index: libffi/configure
    const char *name;
    void       *address;
  }
-@@ -6129,8 +6516,8 @@ static const void *lt_preloaded_setup()
+@@ -6129,8 +6639,8 @@ static const void *lt_preloaded_setup()
  _LT_EOF
          # Now try linking the two files.
          mv conftest.$ac_objext conftstm.$ac_objext
@@ -2741,7 +2985,7 @@ Index: libffi/configure
          LIBS="conftstm.$ac_objext"
          CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
          if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -6140,8 +6527,8 @@ _LT_EOF
+@@ -6140,8 +6650,8 @@ _LT_EOF
    test $ac_status = 0; } && test -s conftest${ac_exeext}; then
            pipe_works=yes
          fi
@@ -2752,7 +2996,7 @@ Index: libffi/configure
        else
          echo "cannot find nm_test_func in $nlist" >&5
        fi
-@@ -6178,6 +6565,23 @@ else
+@@ -6178,6 +6688,19 @@ else
  $as_echo "ok" >&6; }
  fi
  
@@ -2769,20 +3013,16 @@ Index: libffi/configure
 +
 +
 +
-+
-+
-+
-+
  
  
  
-@@ -6194,7 +6598,38 @@ fi
+@@ -6198,6 +6721,41 @@ fi
  
  
  
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
 +$as_echo_n "checking for sysroot... " >&6; }
++
 +# Check whether --with-sysroot was given.
 +if test "${with_sysroot+set}" = set; then :
 +  withval=$with_sysroot;
@@ -2812,10 +3052,13 @@ Index: libffi/configure
 +
 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
 +$as_echo "${lt_sysroot:-no}" >&6; }
++
++
++
  
  
-@@ -6325,7 +6760,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
+ # Check whether --enable-libtool-lock was given.
+@@ -6325,7 +6883,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
    CFLAGS="$CFLAGS -belf"
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
  $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
@@ -2824,28 +3067,163 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_ext=c
-@@ -6387,11 +6822,128 @@ sparc*-*solaris*)
-       ;;
-     esac
-   fi
--  rm -rf conftest*
--  ;;
-+  rm -rf conftest*
-+  ;;
-+esac
-+
-+need_locks="$enable_libtool_lock"
-+
+@@ -6393,19 +6951,16 @@ esac
+ need_locks="$enable_libtool_lock"
+-
+-  case $host_os in
+-    rhapsody* | darwin*)
+-    if test -n "$ac_tool_prefix"; then
+-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 +if test -n "$ac_tool_prefix"; then
 +  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
 +set dummy ${ac_tool_prefix}mt; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
++if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-  if test -n "$DSYMUTIL"; then
+-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
++  if test -n "$MANIFEST_TOOL"; then
++  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -6414,7 +6969,7 @@ do
+   test -z "$as_dir" && as_dir=.
+     for ac_exec_ext in '' $ac_executable_extensions; do
+   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
++    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+@@ -6424,10 +6979,10 @@ IFS=$as_save_IFS
+ fi
+ fi
+-DSYMUTIL=$ac_cv_prog_DSYMUTIL
+-if test -n "$DSYMUTIL"; then
+-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+-$as_echo "$DSYMUTIL" >&6; }
++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
++if test -n "$MANIFEST_TOOL"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
++$as_echo "$MANIFEST_TOOL" >&6; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+@@ -6435,17 +6990,17 @@ fi
+ fi
+-if test -z "$ac_cv_prog_DSYMUTIL"; then
+-  ac_ct_DSYMUTIL=$DSYMUTIL
+-  # Extract the first word of "dsymutil", so it can be a program name with args.
+-set dummy dsymutil; ac_word=$2
++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
++  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
++  # Extract the first word of "mt", so it can be a program name with args.
++set dummy mt; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
++if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+-  if test -n "$ac_ct_DSYMUTIL"; then
+-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
++  if test -n "$ac_ct_MANIFEST_TOOL"; then
++  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -6454,7 +7009,7 @@ do
+   test -z "$as_dir" && as_dir=.
+     for ac_exec_ext in '' $ac_executable_extensions; do
+   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
++    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+@@ -6464,17 +7019,17 @@ IFS=$as_save_IFS
+ fi
+ fi
+-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+-if test -n "$ac_ct_DSYMUTIL"; then
+-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+-$as_echo "$ac_ct_DSYMUTIL" >&6; }
++ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
++if test -n "$ac_ct_MANIFEST_TOOL"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
++$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+-  if test "x$ac_ct_DSYMUTIL" = x; then
+-    DSYMUTIL=":"
++  if test "x$ac_ct_MANIFEST_TOOL" = x; then
++    MANIFEST_TOOL=":"
+   else
+     case $cross_compiling:$ac_tool_warned in
+ yes:)
+@@ -6482,7 +7037,127 @@ yes:)
+ $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ ac_tool_warned=yes ;;
+ esac
+-    DSYMUTIL=$ac_ct_DSYMUTIL
++    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
++  fi
++else
++  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
++fi
++
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
++$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
++if ${lt_cv_path_mainfest_tool+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_path_mainfest_tool=no
++  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
++  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++  cat conftest.err >&5
++  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++    lt_cv_path_mainfest_tool=yes
++  fi
++  rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
++$as_echo "$lt_cv_path_mainfest_tool" >&6; }
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++  MANIFEST_TOOL=:
++fi
++
++
++
++
++
++
++  case $host_os in
++    rhapsody* | darwin*)
++    if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 +$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
++if ${ac_cv_prog_DSYMUTIL+:} false; then :
 +  $as_echo_n "(cached) " >&6
 +else
-+  if test -n "$MANIFEST_TOOL"; then
-+  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
++  if test -n "$DSYMUTIL"; then
++  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
 +else
 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 +for as_dir in $PATH
@@ -2854,7 +3232,7 @@ Index: libffi/configure
 +  test -z "$as_dir" && as_dir=.
 +    for ac_exec_ext in '' $ac_executable_extensions; do
 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
++    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 +    break 2
 +  fi
@@ -2864,10 +3242,10 @@ Index: libffi/configure
 +
 +fi
 +fi
-+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-+if test -n "$MANIFEST_TOOL"; then
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-+$as_echo "$MANIFEST_TOOL" >&6; }
++DSYMUTIL=$ac_cv_prog_DSYMUTIL
++if test -n "$DSYMUTIL"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
++$as_echo "$DSYMUTIL" >&6; }
 +else
 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 +$as_echo "no" >&6; }
@@ -2875,17 +3253,17 @@ Index: libffi/configure
 +
 +
 +fi
-+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-+  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-+  # Extract the first word of "mt", so it can be a program name with args.
-+set dummy mt; ac_word=$2
++if test -z "$ac_cv_prog_DSYMUTIL"; then
++  ac_ct_DSYMUTIL=$DSYMUTIL
++  # Extract the first word of "dsymutil", so it can be a program name with args.
++set dummy dsymutil; ac_word=$2
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 +$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
++if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
 +  $as_echo_n "(cached) " >&6
 +else
-+  if test -n "$ac_ct_MANIFEST_TOOL"; then
-+  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
++  if test -n "$ac_ct_DSYMUTIL"; then
++  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
 +else
 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 +for as_dir in $PATH
@@ -2894,7 +3272,7 @@ Index: libffi/configure
 +  test -z "$as_dir" && as_dir=.
 +    for ac_exec_ext in '' $ac_executable_extensions; do
 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
++    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 +    break 2
 +  fi
@@ -2904,77 +3282,29 @@ Index: libffi/configure
 +
 +fi
 +fi
-+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-+if test -n "$ac_ct_MANIFEST_TOOL"; then
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
++ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
++if test -n "$ac_ct_DSYMUTIL"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
++$as_echo "$ac_ct_DSYMUTIL" >&6; }
 +else
 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 +$as_echo "no" >&6; }
 +fi
 +
-+  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-+    MANIFEST_TOOL=":"
++  if test "x$ac_ct_DSYMUTIL" = x; then
++    DSYMUTIL=":"
 +  else
 +    case $cross_compiling:$ac_tool_warned in
 +yes:)
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 +ac_tool_warned=yes ;;
- esac
-+    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-+  fi
-+else
-+  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-+fi
-+
-+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-+if ${lt_cv_path_mainfest_tool+:} false; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  lt_cv_path_mainfest_tool=no
-+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-+  cat conftest.err >&5
-+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-+    lt_cv_path_mainfest_tool=yes
-+  fi
-+  rm -f conftest*
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-+if test "x$lt_cv_path_mainfest_tool" != xyes; then
-+  MANIFEST_TOOL=:
-+fi
-+
-+
-+
--need_locks="$enable_libtool_lock"
-   case $host_os in
-@@ -6401,7 +6953,7 @@ need_locks="$enable_libtool_lock"
- set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- $as_echo_n "checking for $ac_word... " >&6; }
--if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
-+if ${ac_cv_prog_DSYMUTIL+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   if test -n "$DSYMUTIL"; then
-@@ -6441,7 +6993,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
- set dummy dsymutil; ac_word=$2
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- $as_echo_n "checking for $ac_word... " >&6; }
--if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
-+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-   $as_echo_n "(cached) " >&6
++esac
++    DSYMUTIL=$ac_ct_DSYMUTIL
+   fi
  else
-   if test -n "$ac_ct_DSYMUTIL"; then
-@@ -6493,7 +7045,7 @@ fi
+   DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+@@ -6493,7 +7168,7 @@ fi
  set dummy ${ac_tool_prefix}nmedit; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -2983,7 +3313,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$NMEDIT"; then
-@@ -6533,7 +7085,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
+@@ -6533,7 +7208,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
  set dummy nmedit; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -2992,7 +3322,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_NMEDIT"; then
-@@ -6585,7 +7137,7 @@ fi
+@@ -6585,7 +7260,7 @@ fi
  set dummy ${ac_tool_prefix}lipo; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -3001,7 +3331,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$LIPO"; then
-@@ -6625,7 +7177,7 @@ if test -z "$ac_cv_prog_LIPO"; then
+@@ -6625,7 +7300,7 @@ if test -z "$ac_cv_prog_LIPO"; then
  set dummy lipo; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -3010,7 +3340,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_LIPO"; then
-@@ -6677,7 +7229,7 @@ fi
+@@ -6677,7 +7352,7 @@ fi
  set dummy ${ac_tool_prefix}otool; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -3019,7 +3349,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$OTOOL"; then
-@@ -6717,7 +7269,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
+@@ -6717,7 +7392,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
  set dummy otool; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -3028,7 +3358,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_OTOOL"; then
-@@ -6769,7 +7321,7 @@ fi
+@@ -6769,7 +7444,7 @@ fi
  set dummy ${ac_tool_prefix}otool64; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -3037,7 +3367,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$OTOOL64"; then
-@@ -6809,7 +7361,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
+@@ -6809,7 +7484,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
  set dummy otool64; ac_word=$2
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
  $as_echo_n "checking for $ac_word... " >&6; }
@@ -3046,7 +3376,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if test -n "$ac_ct_OTOOL64"; then
-@@ -6884,7 +7436,7 @@ fi
+@@ -6884,7 +7559,7 @@ fi
  
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
  $as_echo_n "checking for -single_module linker flag... " >&6; }
@@ -3055,7 +3385,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_apple_cc_single_mod=no
-@@ -6913,7 +7465,7 @@ fi
+@@ -6913,7 +7588,7 @@ fi
  $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
  $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
@@ -3064,7 +3394,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_ld_exported_symbols_list=no
-@@ -6945,7 +7497,7 @@ fi
+@@ -6945,7 +7620,7 @@ fi
  $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
  $as_echo_n "checking for -force_load linker flag... " >&6; }
@@ -3073,7 +3403,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_ld_force_load=no
-@@ -6956,6 +7508,8 @@ _LT_EOF
+@@ -6956,6 +7631,8 @@ _LT_EOF
        $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
        echo "$AR cru libconftest.a conftest.o" >&5
        $AR cru libconftest.a conftest.o 2>&5
@@ -3082,7 +3412,7 @@ Index: libffi/configure
        cat > conftest.c << _LT_EOF
  int main() { return 0;}
  _LT_EOF
-@@ -7020,7 +7574,7 @@ if test -n "$CPP" && test -d "$CPP"; the
+@@ -7020,7 +7697,7 @@ if test -n "$CPP" && test -d "$CPP"; the
    CPP=
  fi
  if test -z "$CPP"; then
@@ -3091,7 +3421,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
        # Double quotes because CPP needs to be expanded
-@@ -7050,7 +7604,7 @@ else
+@@ -7050,7 +7727,7 @@ else
    # Broken: fails on valid input.
  continue
  fi
@@ -3100,7 +3430,7 @@ Index: libffi/configure
  
    # OK, works on sane cases.  Now check whether nonexistent headers
    # can be detected and how.
-@@ -7066,11 +7620,11 @@ else
+@@ -7066,11 +7743,11 @@ else
  ac_preproc_ok=:
  break
  fi
@@ -3114,7 +3444,7 @@ Index: libffi/configure
  if $ac_preproc_ok; then :
    break
  fi
-@@ -7109,7 +7663,7 @@ else
+@@ -7109,7 +7786,7 @@ else
    # Broken: fails on valid input.
  continue
  fi
@@ -3123,7 +3453,7 @@ Index: libffi/configure
  
    # OK, works on sane cases.  Now check whether nonexistent headers
    # can be detected and how.
-@@ -7125,18 +7679,18 @@ else
+@@ -7125,18 +7802,18 @@ else
  ac_preproc_ok=:
  break
  fi
@@ -3146,7 +3476,7 @@ Index: libffi/configure
  fi
  
  ac_ext=c
-@@ -7148,7 +7702,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+@@ -7148,7 +7825,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
  $as_echo_n "checking for ANSI C header files... " >&6; }
@@ -3155,7 +3485,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -7265,8 +7819,7 @@ do :
+@@ -7265,8 +7942,7 @@ do :
    as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
  ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
  "
@@ -3165,7 +3495,7 @@ Index: libffi/configure
    cat >>confdefs.h <<_ACEOF
  #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
  _ACEOF
-@@ -7280,7 +7833,7 @@ for ac_header in dlfcn.h
+@@ -7280,7 +7956,7 @@ for ac_header in dlfcn.h
  do :
    ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
  "
@@ -3174,7 +3504,7 @@ Index: libffi/configure
    cat >>confdefs.h <<_ACEOF
  #define HAVE_DLFCN_H 1
  _ACEOF
-@@ -7467,7 +8020,7 @@ fi
+@@ -7467,7 +8143,7 @@ fi
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
  $as_echo_n "checking for objdir... " >&6; }
@@ -3183,7 +3513,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    rm -f .libs 2>/dev/null
-@@ -7545,7 +8098,7 @@ file_magic*)
+@@ -7545,7 +8221,7 @@ file_magic*)
    if test "$file_magic_cmd" = '$MAGIC_CMD'; then
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
  $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
@@ -3192,7 +3522,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    case $MAGIC_CMD in
-@@ -7611,7 +8164,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
+@@ -7611,7 +8287,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
    if test -n "$ac_tool_prefix"; then
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
  $as_echo_n "checking for file... " >&6; }
@@ -3201,7 +3531,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    case $MAGIC_CMD in
-@@ -7753,7 +8306,7 @@ if test "$GCC" = yes; then
+@@ -7753,7 +8429,7 @@ if test "$GCC" = yes; then
  
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
  $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
@@ -3210,7 +3540,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_prog_compiler_rtti_exceptions=no
-@@ -7806,8 +8359,6 @@ fi
+@@ -7806,8 +8482,6 @@ fi
  lt_prog_compiler_pic=
  lt_prog_compiler_static=
  
@@ -3219,7 +3549,7 @@ Index: libffi/configure
  
    if test "$GCC" = yes; then
      lt_prog_compiler_wl='-Wl,'
-@@ -7972,6 +8523,12 @@ $as_echo_n "checking for $compiler optio
+@@ -7972,6 +8646,12 @@ $as_echo_n "checking for $compiler optio
        lt_prog_compiler_pic='--shared'
        lt_prog_compiler_static='--static'
        ;;
@@ -3232,7 +3562,7 @@ Index: libffi/configure
        pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
          # Portland Group compilers (*not* the Pentium gcc compiler,
        # which looks to be a dead project)
-@@ -8034,7 +8591,7 @@ $as_echo_n "checking for $compiler optio
+@@ -8034,7 +8714,7 @@ $as_echo_n "checking for $compiler optio
        lt_prog_compiler_pic='-KPIC'
        lt_prog_compiler_static='-Bstatic'
        case $cc_basename in
@@ -3241,7 +3571,7 @@ Index: libffi/configure
        lt_prog_compiler_wl='-Qoption ld ';;
        *)
        lt_prog_compiler_wl='-Wl,';;
-@@ -8091,13 +8648,17 @@ case $host_os in
+@@ -8091,13 +8771,17 @@ case $host_os in
      lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
      ;;
  esac
@@ -3265,7 +3595,7 @@ Index: libffi/configure
  
  #
  # Check to make sure the PIC flag actually works.
-@@ -8105,7 +8666,7 @@ $as_echo "$lt_prog_compiler_pic" >&6; }
+@@ -8105,7 +8789,7 @@ $as_echo "$lt_prog_compiler_pic" >&6; }
  if test -n "$lt_prog_compiler_pic"; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
  $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
@@ -3274,7 +3604,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_prog_compiler_pic_works=no
-@@ -8158,13 +8719,18 @@ fi
+@@ -8158,13 +8842,18 @@ fi
  
  
  
@@ -3294,7 +3624,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_prog_compiler_static_works=no
-@@ -8207,7 +8773,7 @@ fi
+@@ -8207,7 +8896,7 @@ fi
  
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
  $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
@@ -3303,7 +3633,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_prog_compiler_c_o=no
-@@ -8262,7 +8828,7 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6;
+@@ -8262,7 +8951,7 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6;
  
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
  $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
@@ -3312,7 +3642,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_prog_compiler_c_o=no
-@@ -8508,7 +9074,8 @@ _LT_EOF
+@@ -8508,7 +9197,8 @@ _LT_EOF
        allow_undefined_flag=unsupported
        always_export_symbols=no
        enable_shared_with_static_runtimes=yes
@@ -3322,7 +3652,7 @@ Index: libffi/configure
  
        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
          archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -8556,7 +9123,7 @@ _LT_EOF
+@@ -8556,7 +9246,7 @@ _LT_EOF
        if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
         && test "$tmp_diet" = no
        then
@@ -3331,7 +3661,7 @@ Index: libffi/configure
        tmp_sharedflag='-shared'
        case $cc_basename,$host_cpu in
          pgcc*)                                # Portland Group C compiler
-@@ -8607,12 +9174,12 @@ _LT_EOF
+@@ -8607,12 +9297,12 @@ _LT_EOF
          whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
          hardcode_libdir_flag_spec=
          hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -3346,7 +3676,7 @@ Index: libffi/configure
          fi
          ;;
        esac
-@@ -8626,8 +9193,8 @@ _LT_EOF
+@@ -8626,8 +9316,8 @@ _LT_EOF
        archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
        else
@@ -3357,7 +3687,7 @@ Index: libffi/configure
        fi
        ;;
  
-@@ -8645,8 +9212,8 @@ _LT_EOF
+@@ -8645,8 +9335,8 @@ _LT_EOF
  
  _LT_EOF
        elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -3368,7 +3698,7 @@ Index: libffi/configure
        else
        ld_shlibs=no
        fi
-@@ -8692,8 +9259,8 @@ _LT_EOF
+@@ -8692,8 +9382,8 @@ _LT_EOF
  
      *)
        if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -3379,7 +3709,7 @@ Index: libffi/configure
        else
        ld_shlibs=no
        fi
-@@ -8823,7 +9390,13 @@ _LT_EOF
+@@ -8823,7 +9513,13 @@ _LT_EOF
        allow_undefined_flag='-berok'
          # Determine the default libpath from the value encoded in an
          # empty executable.
@@ -3394,7 +3724,7 @@ Index: libffi/configure
  /* end confdefs.h.  */
  
  int
-@@ -8836,22 +9409,29 @@ main ()
+@@ -8836,22 +9532,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -3437,7 +3767,7 @@ Index: libffi/configure
  
          hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
          archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -8863,7 +9443,13 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8863,7 +9566,13 @@ if test -z "$aix_libpath"; then aix_libp
        else
         # Determine the default libpath from the value encoded in an
         # empty executable.
@@ -3452,7 +3782,7 @@ Index: libffi/configure
  /* end confdefs.h.  */
  
  int
-@@ -8876,22 +9462,29 @@ main ()
+@@ -8876,22 +9585,29 @@ main ()
  _ACEOF
  if ac_fn_c_try_link "$LINENO"; then :
  
@@ -3495,7 +3825,7 @@ Index: libffi/configure
  
         hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
          # Warning - without using the other run time loading flags,
-@@ -8936,20 +9529,63 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8936,20 +9652,63 @@ if test -z "$aix_libpath"; then aix_libp
        # Microsoft Visual C++.
        # hardcode_libdir_flag_spec is actually meaningless, as there is
        # no search path for DLLs.
@@ -3573,7 +3903,7 @@ Index: libffi/configure
        ;;
  
      darwin* | rhapsody*)
-@@ -8989,6 +9625,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -8989,6 +9748,10 @@ if test -z "$aix_libpath"; then aix_libp
        hardcode_shlibpath_var=no
        ;;
  
@@ -3584,7 +3914,7 @@ Index: libffi/configure
      # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
      # support.  Future versions do this automatically, but an explicit c++rt0.o
      # does not break anything, and helps significantly (at the cost of a little
-@@ -9001,7 +9641,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9001,7 +9764,7 @@ if test -z "$aix_libpath"; then aix_libp
        ;;
  
      # Unfortunately, older versions of FreeBSD 2 do not have this feature.
@@ -3593,7 +3923,7 @@ Index: libffi/configure
        archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
        hardcode_direct=yes
        hardcode_minus_L=yes
-@@ -9010,7 +9650,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9010,7 +9773,7 @@ if test -z "$aix_libpath"; then aix_libp
  
      # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
      freebsd* | dragonfly*)
@@ -3602,7 +3932,7 @@ Index: libffi/configure
        hardcode_libdir_flag_spec='-R$libdir'
        hardcode_direct=yes
        hardcode_shlibpath_var=no
-@@ -9018,7 +9658,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9018,7 +9781,7 @@ if test -z "$aix_libpath"; then aix_libp
  
      hpux9*)
        if test "$GCC" = yes; then
@@ -3611,7 +3941,7 @@ Index: libffi/configure
        else
        archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
        fi
-@@ -9034,7 +9674,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9034,7 +9797,7 @@ if test -z "$aix_libpath"; then aix_libp
  
      hpux10*)
        if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -3620,7 +3950,7 @@ Index: libffi/configure
        else
        archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
        fi
-@@ -9058,10 +9698,10 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9058,10 +9821,10 @@ if test -z "$aix_libpath"; then aix_libp
          archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
          ;;
        ia64*)
@@ -3633,7 +3963,7 @@ Index: libffi/configure
          ;;
        esac
        else
-@@ -9078,7 +9718,7 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -9078,7 +9841,7 @@ if test -z "$aix_libpath"; then aix_libp
          # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
          { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
  $as_echo_n "checking if $CC understands -b... " >&6; }
@@ -3642,7 +3972,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_prog_compiler__b=no
-@@ -9140,23 +9780,36 @@ fi
+@@ -9140,23 +9903,36 @@ fi
  
      irix5* | irix6* | nonstopux*)
        if test "$GCC" = yes; then
@@ -3687,7 +4017,7 @@ Index: libffi/configure
        else
        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
        archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9241,7 +9894,7 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9241,7 +10017,7 @@ rm -f core conftest.err conftest.$ac_obj
      osf4* | osf5*)    # as osf3* with the addition of -msym flag
        if test "$GCC" = yes; then
        allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -3696,7 +4026,7 @@ Index: libffi/configure
        hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
        else
        allow_undefined_flag=' -expect_unresolved \*'
-@@ -9260,9 +9913,9 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -9260,9 +10036,9 @@ rm -f core conftest.err conftest.$ac_obj
        no_undefined_flag=' -z defs'
        if test "$GCC" = yes; then
        wlarc='${wl}'
@@ -3708,7 +4038,7 @@ Index: libffi/configure
        else
        case `$CC -V 2>&1` in
        *"Compilers 5.0"*)
-@@ -9450,7 +10103,7 @@ x|xyes)
+@@ -9450,7 +10226,7 @@ x|xyes)
        # to ld, don't add -lc before -lgcc.
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
  $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
@@ -3717,7 +4047,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    $RM conftest*
-@@ -9838,8 +10491,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -9838,8 +10614,9 @@ cygwin* | mingw* | pw32* | cegcc*)
    need_version=no
    need_lib_prefix=no
  
@@ -3729,7 +4059,7 @@ Index: libffi/configure
      library_names_spec='$libname.dll.a'
      # DLL is installed to $(libdir)/../bin by postinstall_cmds
      postinstall_cmds='base_file=`basename \${file}`~
-@@ -9872,13 +10526,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -9872,13 +10649,71 @@ cygwin* | mingw* | pw32* | cegcc*)
        library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
        ;;
      esac
@@ -3802,7 +4132,7 @@ Index: libffi/configure
    # FIXME: first we should search . and the directory the executable is in
    shlibpath_var=PATH
    ;;
-@@ -9907,6 +10619,10 @@ dgux*)
+@@ -9907,6 +10742,10 @@ dgux*)
    shlibpath_var=LD_LIBRARY_PATH
    ;;
  
@@ -3813,7 +4143,7 @@ Index: libffi/configure
  freebsd* | dragonfly*)
    # DragonFly does not have aout.  When/if they implement a new
    # versioning mechanism, adjust this.
-@@ -9914,7 +10630,7 @@ freebsd* | dragonfly*)
+@@ -9914,7 +10753,7 @@ freebsd* | dragonfly*)
      objformat=`/usr/bin/objformat`
    else
      case $host_os in
@@ -3822,7 +4152,7 @@ Index: libffi/configure
      *) objformat=elf ;;
      esac
    fi
-@@ -9932,7 +10648,7 @@ freebsd* | dragonfly*)
+@@ -9932,7 +10771,7 @@ freebsd* | dragonfly*)
    esac
    shlibpath_var=LD_LIBRARY_PATH
    case $host_os in
@@ -3831,7 +4161,7 @@ Index: libffi/configure
      shlibpath_overrides_runpath=yes
      ;;
    freebsd3.[01]* | freebsdelf3.[01]*)
-@@ -9970,7 +10686,7 @@ haiku*)
+@@ -9970,7 +10809,7 @@ haiku*)
    soname_spec='${libname}${release}${shared_ext}$major'
    shlibpath_var=LIBRARY_PATH
    shlibpath_overrides_runpath=yes
@@ -3840,7 +4170,7 @@ Index: libffi/configure
    hardcode_into_libs=yes
    ;;
  
-@@ -10088,7 +10804,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+@@ -10088,7 +10927,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
    shlibpath_overrides_runpath=no
  
    # Some binutils ld are patched to set DT_RUNPATH
@@ -3849,7 +4179,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    lt_cv_shlibpath_overrides_runpath=no
-@@ -10508,7 +11224,7 @@ else
+@@ -10508,7 +11347,7 @@ else
    # if libdl is installed we need to link against it
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
  $as_echo_n "checking for dlopen in -ldl... " >&6; }
@@ -3858,7 +4188,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_check_lib_save_LIBS=$LIBS
-@@ -10542,7 +11258,7 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10542,7 +11381,7 @@ LIBS=$ac_check_lib_save_LIBS
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
  $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
@@ -3867,7 +4197,7 @@ Index: libffi/configure
    lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
  else
  
-@@ -10556,12 +11272,12 @@ fi
+@@ -10556,12 +11395,12 @@ fi
  
    *)
      ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
@@ -3882,7 +4212,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_check_lib_save_LIBS=$LIBS
-@@ -10595,16 +11311,16 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10595,16 +11434,16 @@ LIBS=$ac_check_lib_save_LIBS
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
  $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
@@ -3902,7 +4232,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_check_lib_save_LIBS=$LIBS
-@@ -10638,12 +11354,12 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10638,12 +11477,12 @@ LIBS=$ac_check_lib_save_LIBS
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
  $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
@@ -3917,7 +4247,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_check_lib_save_LIBS=$LIBS
-@@ -10677,12 +11393,12 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10677,12 +11516,12 @@ LIBS=$ac_check_lib_save_LIBS
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
  $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
@@ -3932,7 +4262,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_check_lib_save_LIBS=$LIBS
-@@ -10716,7 +11432,7 @@ LIBS=$ac_check_lib_save_LIBS
+@@ -10716,7 +11555,7 @@ LIBS=$ac_check_lib_save_LIBS
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
  $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
@@ -3941,7 +4271,7 @@ Index: libffi/configure
    lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
  fi
  
-@@ -10757,7 +11473,7 @@ fi
+@@ -10757,7 +11596,7 @@ fi
  
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
  $as_echo_n "checking whether a program can dlopen itself... " >&6; }
@@ -3950,7 +4280,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
          if test "$cross_compiling" = yes; then :
-@@ -10766,7 +11482,7 @@ else
+@@ -10766,7 +11605,7 @@ else
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
@@ -3959,7 +4289,7 @@ Index: libffi/configure
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -10810,10 +11526,10 @@ else
+@@ -10810,10 +11649,10 @@ else
  /* When -fvisbility=hidden is used, assume the code has been annotated
     correspondingly for the symbols needed.  */
  #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -3972,7 +4302,7 @@ Index: libffi/configure
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -10863,7 +11579,7 @@ $as_echo "$lt_cv_dlopen_self" >&6; }
+@@ -10863,7 +11702,7 @@ $as_echo "$lt_cv_dlopen_self" >&6; }
        wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
  $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
@@ -3981,7 +4311,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
          if test "$cross_compiling" = yes; then :
-@@ -10872,7 +11588,7 @@ else
+@@ -10872,7 +11711,7 @@ else
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
@@ -3990,7 +4320,7 @@ Index: libffi/configure
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
-@@ -10916,10 +11632,10 @@ else
+@@ -10916,10 +11755,10 @@ else
  /* When -fvisbility=hidden is used, assume the code has been annotated
     correspondingly for the symbols needed.  */
  #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -4003,219 +4333,1258 @@ Index: libffi/configure
  int main ()
  {
    void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11111,6 +11827,7 @@ CC="$lt_save_CC"
+@@ -11101,14 +11940,986 @@ CC="$lt_save_CC"
  
  
  
+-        ac_config_commands="$ac_config_commands libtool"
++        ac_config_commands="$ac_config_commands libtool"
 +
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
- $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-     # Check whether --enable-maintainer-mode was given.
-@@ -11137,7 +11854,7 @@ fi
- for ac_header in sys/mman.h
- do :
-   ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
--if test "x$ac_cv_header_sys_mman_h" = x""yes; then :
-+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-   cat >>confdefs.h <<_ACEOF
- #define HAVE_SYS_MMAN_H 1
- _ACEOF
-@@ -11149,7 +11866,7 @@ done
- for ac_func in mmap
- do :
-   ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
--if test "x$ac_cv_func_mmap" = x""yes; then :
-+if test "x$ac_cv_func_mmap" = xyes; then :
-   cat >>confdefs.h <<_ACEOF
- #define HAVE_MMAP 1
- _ACEOF
-@@ -11159,7 +11876,7 @@ done
- ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
--if test "x$ac_cv_header_sys_mman_h" = x""yes; then :
-+if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-   libffi_header_sys_mman_h=yes
- else
-   libffi_header_sys_mman_h=no
-@@ -11167,7 +11884,7 @@ fi
- ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
--if test "x$ac_cv_func_mmap" = x""yes; then :
-+if test "x$ac_cv_func_mmap" = xyes; then :
-   libffi_func_mmap=yes
- else
-   libffi_func_mmap=no
-@@ -11181,7 +11898,7 @@ if test "$libffi_header_sys_mman_h" != y
- else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
- $as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
--if test "${ac_cv_func_mmap_file+set}" = set; then :
-+if ${ac_cv_func_mmap_file+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   # Add a system to this blacklist if
-@@ -11200,7 +11917,7 @@ fi
- $as_echo "$ac_cv_func_mmap_file" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
- $as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
--if test "${ac_cv_func_mmap_dev_zero+set}" = set; then :
-+if ${ac_cv_func_mmap_dev_zero+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   # Add a system to this blacklist if it has mmap() but /dev/zero
-@@ -11226,7 +11943,7 @@ $as_echo "$ac_cv_func_mmap_dev_zero" >&6
-    # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
- $as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
--if test "${ac_cv_decl_map_anon+set}" = set; then :
-+if ${ac_cv_decl_map_anon+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11262,7 +11979,7 @@ $as_echo "$ac_cv_decl_map_anon" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
- $as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
--if test "${ac_cv_func_mmap_anon+set}" = set; then :
-+if ${ac_cv_func_mmap_anon+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   # Add a system to this blacklist if it has mmap() and MAP_ANON or
-@@ -11322,6 +12039,10 @@ case "$host" in
-   amd64-*-freebsd* | amd64-*-openbsd*)
-       TARGET=X86_64; TARGETDIR=x86
-+      ;;
 +
-+  amd64-*-freebsd*)
-+      TARGET=X86_64; TARGETDIR=x86
-       ;;
-   avr32*-*-*)
-@@ -11459,7 +12180,7 @@ esac
- if test $TARGETDIR = unknown; then
--  as_fn_error "\"libffi has not been ported to $host.\"" "$LINENO" 5
-+  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
- fi
-  if test x$TARGET = xMIPS; then
-@@ -11550,6 +12271,14 @@ else
-   M68K_FALSE=
- fi
-+ if test x$TARGET = xMOXIE; then
-+  MOXIE_TRUE=
-+  MOXIE_FALSE='#'
++
++
++# Only expand once:
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler vendor" >&5
++$as_echo_n "checking for C compiler vendor... " >&6; }
++if ${ax_cv_c_compiler_vendor+:} false; then :
++  $as_echo_n "(cached) " >&6
 +else
-+  MOXIE_TRUE='#'
-+  MOXIE_FALSE=
++  # note: don't check for gcc first since some other compilers define __GNUC__
++  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
++           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
++           pathscale: __PATHCC__,__PATHSCALE__
++           clang:     __clang__
++           gnu:       __GNUC__
++           sun:       __SUNPRO_C,__SUNPRO_CC
++           hp:        __HP_cc,__HP_aCC
++           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
++           borland:   __BORLANDC__,__TURBOC__
++           comeau:    __COMO__
++           cray:      _CRAYC
++           kai:       __KCC
++           lcc:       __LCC__
++           sgi:       __sgi,sgi
++           microsoft: _MSC_VER
++           metrowerks: __MWERKS__
++           watcom:    __WATCOMC__
++           portland:  __PGI
++           unknown:   UNKNOWN"
++  for ventest in $vendors; do
++    case $ventest in
++      *:) vendor=$ventest; continue ;;
++      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
++    esac
++    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++      #if !($vencpp)
++        thisisanerror;
++      #endif
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  break
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  done
++  ax_cv_c_compiler_vendor=`echo $vendor | cut -d: -f1`
++
 +fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_c_compiler_vendor" >&5
++$as_echo "$ax_cv_c_compiler_vendor" >&6; }
 +
-  if test x$TARGET = xPOWERPC; then
-   POWERPC_TRUE=
-   POWERPC_FALSE='#'
-@@ -11673,7 +12402,7 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
- $as_echo_n "checking for ANSI C header files... " >&6; }
--if test "${ac_cv_header_stdc+set}" = set; then :
-+if ${ac_cv_header_stdc+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11786,7 +12515,7 @@ fi
- for ac_func in memcpy
- do :
-   ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
--if test "x$ac_cv_func_memcpy" = x""yes; then :
-+if test "x$ac_cv_func_memcpy" = xyes; then :
-   cat >>confdefs.h <<_ACEOF
- #define HAVE_MEMCPY 1
- _ACEOF
-@@ -11794,11 +12523,22 @@ _ACEOF
- fi
- done
-+ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-+if test "x$ac_cv_type_size_t" = xyes; then :
 +
++
++
++
++
++# Check whether --enable-portable-binary was given.
++if test "${enable_portable_binary+set}" = set; then :
++  enableval=$enable_portable_binary; acx_maxopt_portable=$withval
++else
++  acx_maxopt_portable=no
++fi
++
++
++# Try to determine "good" native compiler flags if none specified via CFLAGS
++if test "$ac_test_CFLAGS" != "set"; then
++  CFLAGS=""
++  case $ax_cv_c_compiler_vendor in
++    dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
++       if test "x$acx_maxopt_portable" = xno; then
++           CFLAGS="$CFLAGS -arch host"
++         fi;;
++
++    sun) CFLAGS="-native -fast -xO5 -dalign"
++       if test "x$acx_maxopt_portable" = xyes; then
++         CFLAGS="$CFLAGS -xarch=generic"
++         fi;;
++
++    hp)  CFLAGS="+Oall +Optrs_ansi +DSnative"
++       if test "x$acx_maxopt_portable" = xyes; then
++         CFLAGS="$CFLAGS +DAportable"
++       fi;;
++
++    ibm) if test "x$acx_maxopt_portable" = xno; then
++           xlc_opt="-qarch=auto -qtune=auto"
++       else
++           xlc_opt="-qtune=auto"
++       fi
++         as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$xlc_opt" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $xlc_opt" >&5
++$as_echo_n "checking whether C compiler accepts $xlc_opt... " >&6; }
++if eval \${$as_CACHEVAR+:} false; then :
++  $as_echo_n "(cached) " >&6
 +else
 +
-+cat >>confdefs.h <<_ACEOF
-+#define size_t unsigned int
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  $xlc_opt"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
 +_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  eval "$as_CACHEVAR=yes"
++else
++  eval "$as_CACHEVAR=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++eval ac_res=\$$as_CACHEVAR
++             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
++  CFLAGS="-O3 -qansialias -w $xlc_opt"
++else
++  CFLAGS="-O3 -qansialias -w"
++                echo "******************************************************"
++                echo "*  You seem to have the IBM  C compiler.  It is      *"
++                echo "*  recommended for best performance that you use:    *"
++                echo "*                                                    *"
++                echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
++                echo "*                      ^^^        ^^^                *"
++                echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of *"
++                echo "*  CPU you have.  (Set the CFLAGS environment var.   *"
++                echo "*  and re-run configure.)  For more info, man cc.    *"
++                echo "******************************************************"
++fi
++
++         ;;
++
++    intel) CFLAGS="-O3 -ansi_alias"
++      if test "x$acx_maxopt_portable" = xno; then
++        icc_archflag=unknown
++        icc_flags=""
++        case $host_cpu in
++          i686*|x86_64*)
++              # icc accepts gcc assembly syntax, so these should work:
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
++$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test "$cross_compiling" = yes; then :
++  ax_cv_gcc_x86_cpuid_0=unknown
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdio.h>
++int
++main ()
++{
++
++     int op = 0, eax, ebx, ecx, edx;
++     FILE *f;
++      __asm__("cpuid"
++        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++        : "a" (op));
++     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++     fclose(f);
++     return 0;
 +
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
 +fi
 +
- # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
- # for constant arguments.  Useless!
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
- $as_echo_n "checking for working alloca.h... " >&6; }
--if test "${ac_cv_working_alloca_h+set}" = set; then :
-+if ${ac_cv_working_alloca_h+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11831,7 +12571,7 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
- $as_echo_n "checking for alloca... " >&6; }
--if test "${ac_cv_func_alloca_works+set}" = set; then :
-+if ${ac_cv_func_alloca_works+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11850,7 +12590,7 @@ else
-  #pragma alloca
- #   else
- #    ifndef alloca /* predefined by HP cc +Olibcalls */
--char *alloca ();
-+void *alloca (size_t);
- #    endif
- #   endif
- #  endif
-@@ -11894,7 +12634,7 @@ $as_echo "#define C_ALLOCA 1" >>confdefs
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
- $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
--if test "${ac_cv_os_cray+set}" = set; then :
-+if ${ac_cv_os_cray+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -11921,8 +12661,7 @@ if test $ac_cv_os_cray = yes; then
-   for ac_func in _getb67 GETB67 getb67; do
-     as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
- ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
--eval as_val=\$$as_ac_var
--   if test "x$as_val" = x""yes; then :
-+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
- #define CRAY_STACKSEG_END $ac_func
-@@ -11936,7 +12675,7 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
- $as_echo_n "checking stack direction for C alloca... " >&6; }
--if test "${ac_cv_c_stack_direction+set}" = set; then :
-+if ${ac_cv_c_stack_direction+:} false; then :
-   $as_echo_n "(cached) " >&6
- else
-   if test "$cross_compiling" = yes; then :
-@@ -11991,7 +12730,7 @@ fi
- # This bug is HP SR number 8606223364.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
- $as_echo_n "checking size of double... " >&6; }
--if test "${ac_cv_sizeof_double+set}" = set; then :
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_0" >&6; }
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
++$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test "$cross_compiling" = yes; then :
++  ax_cv_gcc_x86_cpuid_1=unknown
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdio.h>
++int
++main ()
++{
++
++     int op = 1, eax, ebx, ecx, edx;
++     FILE *f;
++      __asm__("cpuid"
++        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++        : "a" (op));
++     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++     fclose(f);
++     return 0;
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_1" >&6; }
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++            case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
++                *:756e6547:*:*) # Intel
++                  case $ax_cv_gcc_x86_cpuid_1 in
++                    *6a?:*[234]:*:*|*6[789b]?:*:*:*) icc_flags="-xK";;
++                    *f3[347]:*:*:*|*f41347:*:*:*) icc_flags="-xP -xN -xW -xK";;
++                    *f??:*:*:*) icc_flags="-xN -xW -xK";;
++                  esac ;;
++              esac ;;
++          esac
++          if test "x$icc_flags" != x; then
++            for flag in $icc_flags; do
++              as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
++$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
++if eval \${$as_CACHEVAR+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  $flag"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  eval "$as_CACHEVAR=yes"
++else
++  eval "$as_CACHEVAR=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++eval ac_res=\$$as_CACHEVAR
++             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
++  icc_archflag=$flag; break
++else
++  :
++fi
++
++            done
++          fi
++          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icc architecture flag" >&5
++$as_echo_n "checking for icc architecture flag... " >&6; }
++        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $icc_archflag" >&5
++$as_echo "$icc_archflag" >&6; }
++          if test "x$icc_archflag" != xunknown; then
++            CFLAGS="$CFLAGS $icc_archflag"
++          fi
++        fi
++      ;;
++
++    gnu)
++     # default optimization flags for gcc on all systems
++     CFLAGS="-O3 -fomit-frame-pointer"
++
++     # -malign-double for x86 systems
++     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5
++$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; }
++if ${ax_cv_check_cflags___malign_double+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  -malign-double"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ax_cv_check_cflags___malign_double=yes
++else
++  ax_cv_check_cflags___malign_double=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___malign_double" >&5
++$as_echo "$ax_cv_check_cflags___malign_double" >&6; }
++if test x"$ax_cv_check_cflags___malign_double" = xyes; then :
++  CFLAGS="$CFLAGS -malign-double"
++else
++  :
++fi
++
++
++     #  -fstrict-aliasing for gcc-2.95+
++     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5
++$as_echo_n "checking whether C compiler accepts -fstrict-aliasing... " >&6; }
++if ${ax_cv_check_cflags___fstrict_aliasing+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  -fstrict-aliasing"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ax_cv_check_cflags___fstrict_aliasing=yes
++else
++  ax_cv_check_cflags___fstrict_aliasing=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstrict_aliasing" >&5
++$as_echo "$ax_cv_check_cflags___fstrict_aliasing" >&6; }
++if test x"$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
++  CFLAGS="$CFLAGS -fstrict-aliasing"
++else
++  :
++fi
++
++
++     # note that we enable "unsafe" fp optimization with other compilers, too
++     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -ffast-math" >&5
++$as_echo_n "checking whether C compiler accepts -ffast-math... " >&6; }
++if ${ax_cv_check_cflags___ffast_math+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  -ffast-math"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ax_cv_check_cflags___ffast_math=yes
++else
++  ax_cv_check_cflags___ffast_math=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffast_math" >&5
++$as_echo "$ax_cv_check_cflags___ffast_math" >&6; }
++if test x"$ax_cv_check_cflags___ffast_math" = xyes; then :
++  CFLAGS="$CFLAGS -ffast-math"
++else
++  :
++fi
++
++
++
++
++
++
++# Check whether --with-gcc-arch was given.
++if test "${with_gcc_arch+set}" = set; then :
++  withval=$with_gcc_arch; ax_gcc_arch=$withval
++else
++  ax_gcc_arch=yes
++fi
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
++$as_echo_n "checking for gcc architecture flag... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
++$as_echo "" >&6; }
++if ${ax_cv_gcc_archflag+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++ax_cv_gcc_archflag="unknown"
++
++if test "$GCC" = yes; then
++
++if test "x$ax_gcc_arch" = xyes; then
++ax_gcc_arch=""
++if test "$cross_compiling" = no; then
++case $host_cpu in
++  i[3456]86*|x86_64*) # use cpuid codes, in part from x86info-1.7 by D. Jones
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0 output" >&5
++$as_echo_n "checking for x86 cpuid 0 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_0+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test "$cross_compiling" = yes; then :
++  ax_cv_gcc_x86_cpuid_0=unknown
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdio.h>
++int
++main ()
++{
++
++     int op = 0, eax, ebx, ecx, edx;
++     FILE *f;
++      __asm__("cpuid"
++        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++        : "a" (op));
++     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++     fclose(f);
++     return 0;
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++  ax_cv_gcc_x86_cpuid_0=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++  ax_cv_gcc_x86_cpuid_0=unknown; rm -f conftest_cpuid
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_0" >&6; }
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 1 output" >&5
++$as_echo_n "checking for x86 cpuid 1 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_1+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test "$cross_compiling" = yes; then :
++  ax_cv_gcc_x86_cpuid_1=unknown
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdio.h>
++int
++main ()
++{
++
++     int op = 1, eax, ebx, ecx, edx;
++     FILE *f;
++      __asm__("cpuid"
++        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++        : "a" (op));
++     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++     fclose(f);
++     return 0;
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++  ax_cv_gcc_x86_cpuid_1=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++  ax_cv_gcc_x86_cpuid_1=unknown; rm -f conftest_cpuid
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_1" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_1" >&6; }
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++     case $ax_cv_gcc_x86_cpuid_0 in
++       *:756e6547:*:*) # Intel
++          case $ax_cv_gcc_x86_cpuid_1 in
++          *5[48]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
++          *5??:*:*:*) ax_gcc_arch=pentium ;;
++          *6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
++          *6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
++          *6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
++          *6[9d]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
++          *6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
++          *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
++            *f3[347]:*:*:*|*f41347:*:*:*)
++              case $host_cpu in
++                  x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
++                  *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
++                esac ;;
++            *f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
++          esac ;;
++       *:68747541:*:*) # AMD
++          case $ax_cv_gcc_x86_cpuid_1 in
++          *5[67]?:*:*:*) ax_gcc_arch=k6 ;;
++          *5[8d]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
++          *5[9]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
++          *60?:*:*:*) ax_gcc_arch=k7 ;;
++          *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;;
++          *6[34]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
++          *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
++          *6[68a]?:*:*:*)
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x80000006 output" >&5
++$as_echo_n "checking for x86 cpuid 0x80000006 output... " >&6; }
++if ${ax_cv_gcc_x86_cpuid_0x80000006+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test "$cross_compiling" = yes; then :
++  ax_cv_gcc_x86_cpuid_0x80000006=unknown
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <stdio.h>
++int
++main ()
++{
++
++     int op = 0x80000006, eax, ebx, ecx, edx;
++     FILE *f;
++      __asm__("cpuid"
++        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++        : "a" (op));
++     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++     fclose(f);
++     return 0;
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++  ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid
++else
++  ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x80000006" >&5
++$as_echo "$ax_cv_gcc_x86_cpuid_0x80000006" >&6; }
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++ # L2 cache size
++             case $ax_cv_gcc_x86_cpuid_0x80000006 in
++                 *:*:*[1-9a-f]??????:*) # (L2 = ecx >> 16) >= 256
++                      ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
++                 *) ax_gcc_arch="athlon-4 athlon k7" ;;
++             esac ;;
++          *f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
++          *f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
++          *f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
++          *f??:*:*:*) ax_gcc_arch="k8" ;;
++          esac ;;
++      *:746e6543:*:*) # IDT
++         case $ax_cv_gcc_x86_cpuid_1 in
++           *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
++           *58?:*:*:*) ax_gcc_arch=winchip2 ;;
++           *6[78]?:*:*:*) ax_gcc_arch=c3 ;;
++           *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
++         esac ;;
++     esac
++     if test x"$ax_gcc_arch" = x; then # fallback
++      case $host_cpu in
++        i586*) ax_gcc_arch=pentium ;;
++        i686*) ax_gcc_arch=pentiumpro ;;
++        esac
++     fi
++     ;;
++
++  sparc*)
++     # Extract the first word of "prtdiag", so it can be a program name with args.
++set dummy prtdiag; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_path_PRTDIAG+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  case $PRTDIAG in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_PRTDIAG="$PRTDIAG" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++as_dummy="$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/"
++for as_dir in $as_dummy
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_path_PRTDIAG="$as_dir/$ac_word$ac_exec_ext"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++  test -z "$ac_cv_path_PRTDIAG" && ac_cv_path_PRTDIAG="prtdiag"
++  ;;
++esac
++fi
++PRTDIAG=$ac_cv_path_PRTDIAG
++if test -n "$PRTDIAG"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRTDIAG" >&5
++$as_echo "$PRTDIAG" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++     cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
++     cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
++     case $cputype in
++         *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
++         *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
++         *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
++         *supersparc*|*tms390z5[05]*) ax_gcc_arch="supersparc v8" ;;
++         *hypersparc*|*rt62[056]*) ax_gcc_arch="hypersparc v8" ;;
++         *cypress*) ax_gcc_arch=cypress ;;
++     esac ;;
++
++  alphaev5) ax_gcc_arch=ev5 ;;
++  alphaev56) ax_gcc_arch=ev56 ;;
++  alphapca56) ax_gcc_arch="pca56 ev56" ;;
++  alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
++  alphaev6) ax_gcc_arch=ev6 ;;
++  alphaev67) ax_gcc_arch=ev67 ;;
++  alphaev68) ax_gcc_arch="ev68 ev67" ;;
++  alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
++  alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
++  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
++
++  powerpc*)
++     cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
++     cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
++     case $cputype in
++       *750*) ax_gcc_arch="750 G3" ;;
++       *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;;
++       *74[4-5][0-9]*) ax_gcc_arch="$cputype 7450 G4" ;;
++       *74[0-9][0-9]*) ax_gcc_arch="$cputype G4" ;;
++       *970*) ax_gcc_arch="970 G5 power4";;
++       *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
++       *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
++       603ev|8240) ax_gcc_arch="$cputype 603e 603";;
++       *) ax_gcc_arch=$cputype ;;
++     esac
++     ax_gcc_arch="$ax_gcc_arch powerpc"
++     ;;
++esac
++fi # not cross-compiling
++fi # guess arch
++
++if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
++for arch in $ax_gcc_arch; do
++  if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
++    flags="-mtune=$arch"
++    # -mcpu=$arch and m$arch generate nonportable code on every arch except
++    # x86.  And some other arches (e.g. Alpha) don't accept -mtune.  Grrr.
++    case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
++  else
++    flags="-march=$arch -mcpu=$arch -m$arch"
++  fi
++  for flag in $flags; do
++    as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
++$as_echo_n "checking whether C compiler accepts $flag... " >&6; }
++if eval \${$as_CACHEVAR+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  $flag"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  eval "$as_CACHEVAR=yes"
++else
++  eval "$as_CACHEVAR=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++eval ac_res=\$$as_CACHEVAR
++             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
++  ax_cv_gcc_archflag=$flag; break
++else
++  :
++fi
++
++  done
++  test "x$ax_cv_gcc_archflag" = xunknown || break
++done
++fi
++
++fi # $GCC=yes
++
++fi
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc architecture flag" >&5
++$as_echo_n "checking for gcc architecture flag... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_archflag" >&5
++$as_echo "$ax_cv_gcc_archflag" >&6; }
++if test "x$ax_cv_gcc_archflag" = xunknown; then
++  :
++else
++  CFLAGS="$CFLAGS $ax_cv_gcc_archflag"
++fi
++
++     ;;
++  esac
++
++  if test -z "$CFLAGS"; then
++      echo ""
++      echo "********************************************************"
++        echo "* WARNING: Don't know the best CFLAGS for this system  *"
++        echo "* Use ./configure CFLAGS=... to specify your own flags *"
++      echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"
++      echo "********************************************************"
++      echo ""
++        CFLAGS="-O3"
++  fi
++
++  as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CFLAGS" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CFLAGS" >&5
++$as_echo_n "checking whether C compiler accepts $CFLAGS... " >&6; }
++if eval \${$as_CACHEVAR+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++
++  ax_check_save_flags=$CFLAGS
++  CFLAGS="$CFLAGS  $CFLAGS"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  eval "$as_CACHEVAR=yes"
++else
++  eval "$as_CACHEVAR=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$ax_check_save_flags
++fi
++eval ac_res=\$$as_CACHEVAR
++             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
++  :
++else
++
++      echo ""
++        echo "********************************************************"
++        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"
++        echo "* your compiler.                                       *"
++        echo "* Use ./configure CFLAGS=... to specify your own flags *"
++        echo "********************************************************"
++        echo ""
++        CFLAGS=""
++
++fi
++
++
++fi
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CFLAGS for maximum warnings" >&5
++$as_echo_n "checking CFLAGS for maximum warnings... " >&6; }
++if ${ac_cv_cflags_warn_all+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_cflags_warn_all="no, unknown"
++ac_save_CFLAGS="$CFLAGS"
++for ac_arg in "-warn all  % -warn all"      "-pedantic  % -Wall"          "-xstrconst % -v"             "-std1      % -verbose -w0 -warnprotos"    "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd"    "-ansi -ansiE % -fullwarn"    "+ESlit     % +w1"            "-Xc        % -pvctl,fullmsg"    "-h conform % -h msglevel 2"    #
++do CFLAGS="$ac_save_CFLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
++   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++int
++main ()
++{
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ac_cv_cflags_warn_all=`echo $ac_arg | sed -e 's,.*% *,,'` ; break
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++done
++CFLAGS="$ac_save_CFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5
++$as_echo "$ac_cv_cflags_warn_all" >&6; }
++case ".$ac_cv_cflags_warn_all" in
++     .ok|.ok,*)  ;;
++   .|.no|.no,*)  ;;
++   *) if ${CFLAGS+:} false; then :
++  case " $CFLAGS " in
++    *" $ac_cv_cflags_warn_all "*)
++      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5
++  (: CFLAGS already contains $ac_cv_cflags_warn_all) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++      ;;
++    *)
++      { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \$ac_cv_cflags_warn_all\""; } >&5
++  (: CFLAGS="$CFLAGS $ac_cv_cflags_warn_all") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++      CFLAGS="$CFLAGS $ac_cv_cflags_warn_all"
++      ;;
++   esac
++else
++  CFLAGS="$ac_cv_cflags_warn_all"
++fi
++ ;;
++esac
+-# Only expand once:
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++if test "x$GCC" = "xyes"; then
++  CFLAGS="$CFLAGS -fexceptions"
++fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+@@ -11137,7 +12948,7 @@ fi
+ for ac_header in sys/mman.h
+ do :
+   ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+-if test "x$ac_cv_header_sys_mman_h" = x""yes; then :
++if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_SYS_MMAN_H 1
+ _ACEOF
+@@ -11149,7 +12960,7 @@ done
+ for ac_func in mmap
+ do :
+   ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+-if test "x$ac_cv_func_mmap" = x""yes; then :
++if test "x$ac_cv_func_mmap" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_MMAP 1
+ _ACEOF
+@@ -11159,7 +12970,7 @@ done
+ ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
+-if test "x$ac_cv_header_sys_mman_h" = x""yes; then :
++if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+   libffi_header_sys_mman_h=yes
+ else
+   libffi_header_sys_mman_h=no
+@@ -11167,7 +12978,7 @@ fi
+ ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+-if test "x$ac_cv_func_mmap" = x""yes; then :
++if test "x$ac_cv_func_mmap" = xyes; then :
+   libffi_func_mmap=yes
+ else
+   libffi_func_mmap=no
+@@ -11181,7 +12992,7 @@ if test "$libffi_header_sys_mman_h" != y
+ else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of a plain file works" >&5
+ $as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
+-if test "${ac_cv_func_mmap_file+set}" = set; then :
++if ${ac_cv_func_mmap_file+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   # Add a system to this blacklist if
+@@ -11200,7 +13011,7 @@ fi
+ $as_echo "$ac_cv_func_mmap_file" >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from /dev/zero works" >&5
+ $as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
+-if test "${ac_cv_func_mmap_dev_zero+set}" = set; then :
++if ${ac_cv_func_mmap_dev_zero+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   # Add a system to this blacklist if it has mmap() but /dev/zero
+@@ -11226,7 +13037,7 @@ $as_echo "$ac_cv_func_mmap_dev_zero" >&6
+    # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
+ $as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
+-if test "${ac_cv_decl_map_anon+set}" = set; then :
++if ${ac_cv_decl_map_anon+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -11262,7 +13073,7 @@ $as_echo "$ac_cv_decl_map_anon" >&6; }
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with MAP_ANON(YMOUS) works" >&5
+ $as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
+-if test "${ac_cv_func_mmap_anon+set}" = set; then :
++if ${ac_cv_func_mmap_anon+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   # Add a system to this blacklist if it has mmap() and MAP_ANON or
+@@ -11322,6 +13133,10 @@ case "$host" in
+   amd64-*-freebsd* | amd64-*-openbsd*)
+       TARGET=X86_64; TARGETDIR=x86
++      ;;
++
++  amd64-*-freebsd*)
++      TARGET=X86_64; TARGETDIR=x86
+       ;;
+   avr32*-*-*)
+@@ -11336,7 +13151,7 @@ case "$host" in
+       TARGET=FRV; TARGETDIR=frv
+       ;;
+-  hppa*-*-linux* | parisc*-*-linux*)
++  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
+       TARGET=PA_LINUX; TARGETDIR=pa
+       ;;
+   hppa*64-*-hpux*)
+@@ -11349,7 +13164,7 @@ case "$host" in
+   i?86-*-freebsd* | i?86-*-openbsd*)
+       TARGET=X86_FREEBSD; TARGETDIR=x86
+       ;;
+-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
++  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
+       TARGET=X86_WIN32; TARGETDIR=x86
+       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+       # We must also check with_cross_host to decide if this is a native
+@@ -11386,28 +13201,35 @@ case "$host" in
+   mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
+       TARGET=MIPS; TARGETDIR=mips
+       ;;
+-  mips*-*-linux*)
++  mips*-*-linux* | mips*-*-openbsd*)
+       # Support 128-bit long double for NewABI.
+       HAVE_LONG_DOUBLE='defined(__mips64)'
+       TARGET=MIPS; TARGETDIR=mips
+       ;;
++  moxie-*-*)
++        TARGET=MOXIE; TARGETDIR=moxie
++      ;;
++
+   powerpc*-*-linux* | powerpc-*-sysv*)
+       TARGET=POWERPC; TARGETDIR=powerpc
+       ;;
++  powerpc-*-amigaos*)
++      TARGET=POWERPC; TARGETDIR=powerpc
++      ;;
+   powerpc-*-beos*)
+       TARGET=POWERPC; TARGETDIR=powerpc
+       ;;
+-  powerpc-*-darwin*)
++  powerpc-*-darwin* | powerpc64-*-darwin*)
+       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
+       ;;
+   powerpc-*-aix* | rs6000-*-aix*)
+       TARGET=POWERPC_AIX; TARGETDIR=powerpc
+       ;;
+-  powerpc-*-freebsd*)
++  powerpc-*-freebsd* | powerpc-*-openbsd*)
+       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
+       ;;
+- powerpc64-*-freebsd*)
++  powerpc64-*-freebsd*)
+       TARGET=POWERPC; TARGETDIR=powerpc
+       ;;
+   powerpc*-*-rtems*)
+@@ -11455,7 +13277,7 @@ esac
+ if test $TARGETDIR = unknown; then
+-  as_fn_error "\"libffi has not been ported to $host.\"" "$LINENO" 5
++  as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
+ fi
+  if test x$TARGET = xMIPS; then
+@@ -11546,6 +13368,14 @@ else
+   M68K_FALSE=
+ fi
++ if test x$TARGET = xMOXIE; then
++  MOXIE_TRUE=
++  MOXIE_FALSE='#'
++else
++  MOXIE_TRUE='#'
++  MOXIE_FALSE=
++fi
++
+  if test x$TARGET = xPOWERPC; then
+   POWERPC_TRUE=
+   POWERPC_FALSE='#'
+@@ -11669,7 +13499,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+ $as_echo_n "checking for ANSI C header files... " >&6; }
+-if test "${ac_cv_header_stdc+set}" = set; then :
++if ${ac_cv_header_stdc+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -11782,7 +13612,7 @@ fi
+ for ac_func in memcpy
+ do :
+   ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
+-if test "x$ac_cv_func_memcpy" = x""yes; then :
++if test "x$ac_cv_func_memcpy" = xyes; then :
+   cat >>confdefs.h <<_ACEOF
+ #define HAVE_MEMCPY 1
+ _ACEOF
+@@ -11790,11 +13620,22 @@ _ACEOF
+ fi
+ done
++ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
++if test "x$ac_cv_type_size_t" = xyes; then :
++
++else
++
++cat >>confdefs.h <<_ACEOF
++#define size_t unsigned int
++_ACEOF
++
++fi
++
+ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+ # for constant arguments.  Useless!
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
+ $as_echo_n "checking for working alloca.h... " >&6; }
+-if test "${ac_cv_working_alloca_h+set}" = set; then :
++if ${ac_cv_working_alloca_h+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -11827,7 +13668,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
+ $as_echo_n "checking for alloca... " >&6; }
+-if test "${ac_cv_func_alloca_works+set}" = set; then :
++if ${ac_cv_func_alloca_works+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -11846,7 +13687,7 @@ else
+  #pragma alloca
+ #   else
+ #    ifndef alloca /* predefined by HP cc +Olibcalls */
+-char *alloca ();
++void *alloca (size_t);
+ #    endif
+ #   endif
+ #  endif
+@@ -11890,7 +13731,7 @@ $as_echo "#define C_ALLOCA 1" >>confdefs
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
+ $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
+-if test "${ac_cv_os_cray+set}" = set; then :
++if ${ac_cv_os_cray+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -11917,8 +13758,7 @@ if test $ac_cv_os_cray = yes; then
+   for ac_func in _getb67 GETB67 getb67; do
+     as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+-eval as_val=\$$as_ac_var
+-   if test "x$as_val" = x""yes; then :
++if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+ #define CRAY_STACKSEG_END $ac_func
+@@ -11932,7 +13772,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
+ $as_echo_n "checking stack direction for C alloca... " >&6; }
+-if test "${ac_cv_c_stack_direction+set}" = set; then :
++if ${ac_cv_c_stack_direction+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   if test "$cross_compiling" = yes; then :
+@@ -11987,7 +13827,7 @@ fi
+ # This bug is HP SR number 8606223364.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
+ $as_echo_n "checking size of double... " >&6; }
+-if test "${ac_cv_sizeof_double+set}" = set; then :
 +if ${ac_cv_sizeof_double+:} false; then :
    $as_echo_n "(cached) " >&6
  else
    if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
-@@ -12000,9 +12739,8 @@ else
+@@ -11996,9 +13836,8 @@ else
    if test "$ac_cv_type_double" = yes; then
       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -4227,7 +5596,7 @@ Index: libffi/configure
     else
       ac_cv_sizeof_double=0
     fi
-@@ -12025,7 +12763,7 @@ _ACEOF
+@@ -12021,7 +13860,7 @@ _ACEOF
  # This bug is HP SR number 8606223364.
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
  $as_echo_n "checking size of long double... " >&6; }
@@ -4236,7 +5605,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
-@@ -12034,9 +12772,8 @@ else
+@@ -12030,9 +13869,8 @@ else
    if test "$ac_cv_type_long_double" = yes; then
       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
  $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -4248,7 +5617,7 @@ Index: libffi/configure
     else
       ac_cv_sizeof_long_double=0
     fi
-@@ -12070,7 +12807,7 @@ fi
+@@ -12066,7 +13904,7 @@ fi
  
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
  $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
@@ -4257,7 +5626,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
    ac_cv_c_bigendian=unknown
-@@ -12288,14 +13025,14 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUI
+@@ -12284,14 +14122,14 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUI
  
       ;; #(
     *)
@@ -4274,7 +5643,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
  
-@@ -12331,7 +13068,7 @@ $as_echo "#define HAVE_AS_CFI_PSEUDO_OP
+@@ -12327,7 +14165,7 @@ $as_echo "#define HAVE_AS_CFI_PSEUDO_OP
  if test x$TARGET = xSPARC; then
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5
  $as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; }
@@ -4283,7 +5652,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
  
-@@ -12370,7 +13107,7 @@ $as_echo "#define HAVE_AS_SPARC_UA_PCREL
+@@ -12366,7 +14204,7 @@ $as_echo "#define HAVE_AS_SPARC_UA_PCREL
  
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .register pseudo-op support" >&5
  $as_echo_n "checking assembler .register pseudo-op support... " >&6; }
@@ -4292,7 +5661,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
  
-@@ -12407,7 +13144,7 @@ fi
+@@ -12403,14 +14241,14 @@ fi
  if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5
  $as_echo_n "checking assembler supports pc related relocs... " >&6; }
@@ -4301,7 +5670,17 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
  
-@@ -12428,7 +13165,7 @@ $as_echo "#define HAVE_AS_X86_PCREL 1" >
+-      libffi_cv_as_x86_pcrel=yes
++      libffi_cv_as_x86_pcrel=no
+       echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
+-      if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
+-          libffi_cv_as_x86_pcrel=no
++      if $CC $CFLAGS -c conftest.s > /dev/null; then
++         libffi_cv_as_x86_pcrel=yes
+       fi
+ fi
+@@ -12424,7 +14262,7 @@ $as_echo "#define HAVE_AS_X86_PCREL 1" >
  
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5
  $as_echo_n "checking assembler .ascii pseudo-op support... " >&6; }
@@ -4310,7 +5689,7 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
  
-@@ -12463,7 +13200,7 @@ $as_echo "#define HAVE_AS_ASCII_PSEUDO_O
+@@ -12459,7 +14297,7 @@ $as_echo "#define HAVE_AS_ASCII_PSEUDO_O
  
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5
  $as_echo_n "checking assembler .string pseudo-op support... " >&6; }
@@ -4319,7 +5698,91 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
  
-@@ -12508,7 +13245,7 @@ esac
+@@ -12493,18 +14331,90 @@ $as_echo "#define HAVE_AS_STRING_PSEUDO_
+     fi
+ fi
++if test x$TARGET = xX86_WIN64; then
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _ prefix in compiled symbols" >&5
++$as_echo_n "checking for _ prefix in compiled symbols... " >&6; }
++if ${lt_cv_sys_symbol_underscore+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_sys_symbol_underscore=no
++  cat > conftest.$ac_ext <<_LT_EOF
++void nm_test_func(){}
++int main(){nm_test_func;return 0;}
++_LT_EOF
++  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
++  (eval $ac_compile) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }; then
++    # Now try to grab the symbols.
++    ac_nlist=conftest.nm
++    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist\""; } >&5
++  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; } && test -s "$ac_nlist"; then
++      # See whether the symbols have a leading underscore.
++      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
++        lt_cv_sys_symbol_underscore=yes
++      else
++        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
++        :
++        else
++        echo "configure: cannot find nm_test_func in $ac_nlist" >&5
++        fi
++      fi
++    else
++      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&5
++    fi
++  else
++    echo "configure: failed program was:" >&5
++    cat conftest.c >&5
++  fi
++  rm -rf conftest*
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_symbol_underscore" >&5
++$as_echo "$lt_cv_sys_symbol_underscore" >&6; }
++  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
++
++
++    if test "x$sys_symbol_underscore" = xyes; then
++
++$as_echo "#define SYMBOL_UNDERSCORE 1" >>confdefs.h
++
++    fi
++fi
++
++
++FFI_EXEC_TRAMPOLINE_TABLE=0
+ case "$target" in
+-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
++     *arm*-apple-darwin*)
++       FFI_EXEC_TRAMPOLINE_TABLE=1
++
++$as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
++
++     ;;
++     *-apple-darwin1[10]* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
+ $as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
+      ;;
+ esac
++ if test x$FFI_EXEC_TRAMPOLINE_TABLE = x1; then
++  FFI_EXEC_TRAMPOLINE_TABLE_TRUE=
++  FFI_EXEC_TRAMPOLINE_TABLE_FALSE='#'
++else
++  FFI_EXEC_TRAMPOLINE_TABLE_TRUE='#'
++  FFI_EXEC_TRAMPOLINE_TABLE_FALSE=
++fi
++
++
  if test x$TARGET = xX86_64; then
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
  $as_echo_n "checking assembler supports unwind section type... " >&6; }
@@ -4328,25 +5791,119 @@ Index: libffi/configure
    $as_echo_n "(cached) " >&6
  else
  
-@@ -12530,7 +13267,7 @@ fi
+@@ -12524,67 +14434,69 @@ $as_echo "#define HAVE_AS_X86_64_UNWIND_
+     fi
+ fi
  
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
++if test "x$GCC" = "xyes"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
  $as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
 -if test "${libffi_cv_ro_eh_frame+set}" = set; then :
 +if ${libffi_cv_ro_eh_frame+:} false; then :
    $as_echo_n "(cached) " >&6
  else
  
-@@ -12564,7 +13301,7 @@ fi
+-      libffi_cv_ro_eh_frame=no
+-      echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
+-      if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
+-          if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
+-              libffi_cv_ro_eh_frame=yes
+-          elif grep '.section.*eh_frame.*#alloc' conftest.c \
+-               | grep -v '#write' > /dev/null; then
+-              libffi_cv_ro_eh_frame=yes
+-          fi
+-      fi
+-      rm -f conftest.*
++      libffi_cv_ro_eh_frame=no
++      echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
++      if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
++          if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
++              libffi_cv_ro_eh_frame=yes
++          elif grep '.section.*eh_frame.*#alloc' conftest.c \
++               | grep -v '#write' > /dev/null; then
++              libffi_cv_ro_eh_frame=yes
++          fi
++      fi
++      rm -f conftest.*
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_ro_eh_frame" >&5
+ $as_echo "$libffi_cv_ro_eh_frame" >&6; }
+-if test "x$libffi_cv_ro_eh_frame" = xyes; then
++  if test "x$libffi_cv_ro_eh_frame" = xyes; then
+ $as_echo "#define HAVE_RO_EH_FRAME 1" >>confdefs.h
+ $as_echo "#define EH_FRAME_FLAGS \"a\"" >>confdefs.h
+-else
++  else
+ $as_echo "#define EH_FRAME_FLAGS \"aw\"" >>confdefs.h
+-fi
++  fi
  
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility(\"hidden\")))" >&5
  $as_echo_n "checking for __attribute__((visibility(\"hidden\")))... " >&6; }
 -if test "${libffi_cv_hidden_visibility_attribute+set}" = set; then :
 +if ${libffi_cv_hidden_visibility_attribute+:} false; then :
    $as_echo_n "(cached) " >&6
  else
  
-@@ -12638,21 +13375,25 @@ $as_echo "#define USING_PURIFY 1" >>conf
+-      echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
+-      libffi_cv_hidden_visibility_attribute=no
+-      if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
++      echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
++      libffi_cv_hidden_visibility_attribute=no
++      if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5'
+   { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; }; then
+-          if grep '\.hidden.*foo' conftest.s >/dev/null; then
+-              libffi_cv_hidden_visibility_attribute=yes
+-          fi
+-      fi
+-      rm -f conftest.*
++          if grep '\.hidden.*foo' conftest.s >/dev/null; then
++              libffi_cv_hidden_visibility_attribute=yes
++          fi
++      fi
++      rm -f conftest.*
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_hidden_visibility_attribute" >&5
+ $as_echo "$libffi_cv_hidden_visibility_attribute" >&6; }
+-if test $libffi_cv_hidden_visibility_attribute = yes; then
++  if test $libffi_cv_hidden_visibility_attribute = yes; then
+ $as_echo "#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1" >>confdefs.h
++  fi
+ fi
+@@ -12603,6 +14515,14 @@ $as_echo "#define FFI_DEBUG 1" >>confdef
+   fi
+ fi
++ if test "$enable_debug" = "yes"; then
++  FFI_DEBUG_TRUE=
++  FFI_DEBUG_FALSE='#'
++else
++  FFI_DEBUG_TRUE='#'
++  FFI_DEBUG_FALSE=
++fi
++
+ # Check whether --enable-structs was given.
+ if test "${enable_structs+set}" = set; then :
+@@ -12634,21 +14554,25 @@ $as_echo "#define USING_PURIFY 1" >>conf
  fi
  
  
@@ -4385,7 +5942,7 @@ Index: libffi/configure
  
  if test "${multilib}" = "yes"; then
    multilib_arg="--enable-multilib"
-@@ -12668,7 +13409,7 @@ ac_config_commands="$ac_config_commands
+@@ -12664,7 +14588,7 @@ ac_config_commands="$ac_config_commands
  ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
  
  
@@ -4394,7 +5951,7 @@ Index: libffi/configure
  
  
  cat >confcache <<\_ACEOF
-@@ -12735,10 +13476,21 @@ $as_echo "$as_me: WARNING: cache variabl
+@@ -12731,10 +14655,21 @@ $as_echo "$as_me: WARNING: cache variabl
       :end' >>confcache
  if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
    if test -w "$cache_file"; then
@@ -4418,7 +5975,7 @@ Index: libffi/configure
    else
      { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
  $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-@@ -12754,6 +13506,7 @@ DEFS=-DHAVE_CONFIG_H
+@@ -12750,6 +14685,7 @@ DEFS=-DHAVE_CONFIG_H
  
  ac_libobjs=
  ac_ltlibobjs=
@@ -4426,7 +5983,7 @@ Index: libffi/configure
  for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
    # 1. Remove the extension, and $U if already installed.
    ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-@@ -12777,132 +13530,136 @@ else
+@@ -12773,132 +14709,144 @@ else
  fi
  
  if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
@@ -4589,13 +6146,21 @@ Index: libffi/configure
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
  fi
  
++if test -z "${FFI_EXEC_TRAMPOLINE_TABLE_TRUE}" && test -z "${FFI_EXEC_TRAMPOLINE_TABLE_FALSE}"; then
++  as_fn_error $? "conditional \"FFI_EXEC_TRAMPOLINE_TABLE\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
++  as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
  
 -: ${CONFIG_STATUS=./config.status}
 +: "${CONFIG_STATUS=./config.status}"
  ac_write_fail=0
  ac_clean_files_save=$ac_clean_files
  ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-@@ -13003,6 +13760,7 @@ fi
+@@ -12999,6 +14947,7 @@ fi
  IFS=" ""      $as_nl"
  
  # Find who we are.  Look in the path if we contain no directory separator.
@@ -4603,7 +6168,7 @@ Index: libffi/configure
  case $0 in #((
    *[\\/]* ) as_myself=$0 ;;
    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-@@ -13048,19 +13806,19 @@ export LANGUAGE
+@@ -13044,19 +14993,19 @@ export LANGUAGE
  (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
  
  
@@ -4631,7 +6196,7 @@ Index: libffi/configure
    as_fn_exit $as_status
  } # as_fn_error
  
-@@ -13256,7 +14014,7 @@ $as_echo X"$as_dir" |
+@@ -13252,7 +15201,7 @@ $as_echo X"$as_dir" |
        test -d "$as_dir" && break
      done
      test -z "$as_dirs" || eval "mkdir $as_dirs"
@@ -4640,7 +6205,7 @@ Index: libffi/configure
  
  
  } # as_fn_mkdir_p
-@@ -13309,8 +14067,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
+@@ -13305,8 +15254,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
  # report actual input values of CONFIG_FILES etc. instead of their
  # values after options handling.
  ac_log="
@@ -4651,7 +6216,7 @@ Index: libffi/configure
  
    CONFIG_FILES    = $CONFIG_FILES
    CONFIG_HEADERS  = $CONFIG_HEADERS
-@@ -13351,6 +14109,7 @@ Usage: $0 [OPTION]... [TAG]...
+@@ -13347,6 +15296,7 @@ Usage: $0 [OPTION]... [TAG]...
  
    -h, --help       print this help, then exit
    -V, --version    print version number and configuration settings, then exit
@@ -4659,7 +6224,7 @@ Index: libffi/configure
    -q, --quiet, --silent
                     do not print progress messages
    -d, --debug      don't remove temporary files
-@@ -13372,16 +14131,17 @@ $config_links
+@@ -13368,16 +15318,17 @@ $config_links
  Configuration commands:
  $config_commands
  
@@ -4682,7 +6247,7 @@ Index: libffi/configure
  This config.status script is free software; the Free Software Foundation
  gives unlimited permission to copy, distribute and modify it."
  
-@@ -13399,11 +14159,16 @@ ac_need_defaults=:
+@@ -13395,11 +15346,16 @@ ac_need_defaults=:
  while test $# != 0
  do
    case $1 in
@@ -4700,7 +6265,7 @@ Index: libffi/configure
    *)
      ac_option=$1
      ac_optarg=$2
-@@ -13417,12 +14182,15 @@ do
+@@ -13413,12 +15369,15 @@ do
      ac_cs_recheck=: ;;
    --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
      $as_echo "$ac_cs_version"; exit ;;
@@ -4716,7 +6281,7 @@ Index: libffi/configure
      esac
      as_fn_append CONFIG_FILES " '$ac_optarg'"
      ac_need_defaults=false;;
-@@ -13435,7 +14203,7 @@ do
+@@ -13431,7 +15390,7 @@ do
      ac_need_defaults=false;;
    --he | --h)
      # Conflict between --help and --header
@@ -4725,7 +6290,7 @@ Index: libffi/configure
  Try \`$0 --help' for more information.";;
    --help | --hel | -h )
      $as_echo "$ac_cs_usage"; exit ;;
-@@ -13444,7 +14212,7 @@ Try \`$0 --help' for more information.";
+@@ -13440,7 +15399,7 @@ Try \`$0 --help' for more information.";
      ac_cs_silent=: ;;
  
    # This is an error.
@@ -4734,11 +6299,18 @@ Index: libffi/configure
  Try \`$0 --help' for more information." ;;
  
    *) as_fn_append ac_config_targets " $1"
-@@ -13488,20 +14256,6 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
+@@ -13484,20 +15443,14 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
  #
  # INIT-COMMANDS
  #
--
++ax_enable_builddir_srcdir="$srcdir"                    # $srcdir
++ax_enable_builddir_host="$HOST"                        # $HOST / $host
++ax_enable_builddir_version="$VERSION"                  # $VERSION
++ax_enable_builddir_package="$PACKAGE"                  # $PACKAGE
++ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
++ax_enable_builddir_sed="$ax_enable_builddir_sed"       # $SED
++ax_enable_builddir="$ax_enable_builddir"               # $SUB
 -srcdir="$srcdir"
 -host="$host"
 -target="$target"
@@ -4755,7 +6327,7 @@ Index: libffi/configure
  AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
  
  
-@@ -13540,13 +14294,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
+@@ -13536,13 +15489,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_
  lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
  lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
  lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -4776,7 +6348,7 @@ Index: libffi/configure
  STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
  RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
  old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -13561,14 +14322,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
+@@ -13557,14 +15517,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$l
  lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
  lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
  lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -4795,7 +6367,7 @@ Index: libffi/configure
  DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
  NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
  LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -13601,12 +14365,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
+@@ -13597,12 +15560,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcod
  hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
  inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
  link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -4809,7 +6381,7 @@ Index: libffi/configure
  file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
  variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
  need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -13661,8 +14425,13 @@ reload_flag \
+@@ -13657,8 +15620,13 @@ reload_flag \
  OBJDUMP \
  deplibs_check_method \
  file_magic_cmd \
@@ -4823,7 +6395,7 @@ Index: libffi/configure
  STRIP \
  RANLIB \
  CC \
-@@ -13672,12 +14441,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -13668,12 +15636,14 @@ lt_cv_sys_global_symbol_pipe \
  lt_cv_sys_global_symbol_to_cdecl \
  lt_cv_sys_global_symbol_to_c_name_address \
  lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -4839,7 +6411,7 @@ Index: libffi/configure
  DSYMUTIL \
  NMEDIT \
  LIPO \
-@@ -13693,7 +14464,6 @@ no_undefined_flag \
+@@ -13689,7 +15659,6 @@ no_undefined_flag \
  hardcode_libdir_flag_spec \
  hardcode_libdir_flag_spec_ld \
  hardcode_libdir_separator \
@@ -4847,7 +6419,7 @@ Index: libffi/configure
  exclude_expsyms \
  include_expsyms \
  file_list_spec \
-@@ -13729,6 +14499,7 @@ module_cmds \
+@@ -13725,6 +15694,7 @@ module_cmds \
  module_expsym_cmds \
  export_symbols_cmds \
  prelink_cmds \
@@ -4855,15 +6427,16 @@ Index: libffi/configure
  postinstall_cmds \
  postuninstall_cmds \
  finish_cmds \
-@@ -13774,7 +14545,6 @@ for ac_config_target in $ac_config_targe
+@@ -13770,7 +15740,7 @@ for ac_config_target in $ac_config_targe
  do
    case $ac_config_target in
      "fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
 -    "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
++    "buildir") CONFIG_COMMANDS="$CONFIG_COMMANDS buildir" ;;
      "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
      "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
      "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
-@@ -13785,8 +14555,9 @@ do
+@@ -13781,8 +15751,9 @@ do
      "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
      "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
      "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
@@ -4874,7 +6447,7 @@ Index: libffi/configure
    esac
  done
  
-@@ -13810,9 +14581,10 @@ fi
+@@ -13806,9 +15777,10 @@ fi
  # after its creation but before its name has been assigned to `$tmp'.
  $debug ||
  {
@@ -4887,7 +6460,7 @@ Index: libffi/configure
  ' 0
    trap 'as_fn_exit 1' 1 2 13 15
  }
-@@ -13820,12 +14592,13 @@ $debug ||
+@@ -13816,12 +15788,13 @@ $debug ||
  
  {
    tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
@@ -4903,7 +6476,7 @@ Index: libffi/configure
  
  # Set up the scripts for CONFIG_FILES section.
  # No need to generate them if there are no CONFIG_FILES.
-@@ -13842,12 +14615,12 @@ if test "x$ac_cr" = x; then
+@@ -13838,12 +15811,12 @@ if test "x$ac_cr" = x; then
  fi
  ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
  if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
@@ -4918,7 +6491,7 @@ Index: libffi/configure
  _ACEOF
  
  
-@@ -13856,18 +14629,18 @@ _ACEOF
+@@ -13852,18 +15825,18 @@ _ACEOF
    echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
    echo "_ACEOF"
  } >conf$$subs.sh ||
@@ -4941,7 +6514,7 @@ Index: libffi/configure
    else
      ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
    fi
-@@ -13875,7 +14648,7 @@ done
+@@ -13871,7 +15844,7 @@ done
  rm -f conf$$subs.sh
  
  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
@@ -4950,7 +6523,7 @@ Index: libffi/configure
  _ACEOF
  sed -n '
  h
-@@ -13889,7 +14662,7 @@ s/'"$ac_delim"'$//
+@@ -13885,7 +15858,7 @@ s/'"$ac_delim"'$//
  t delim
  :nl
  h
@@ -4959,7 +6532,7 @@ Index: libffi/configure
  t more1
  s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
  p
-@@ -13903,7 +14676,7 @@ s/.\{148\}//
+@@ -13899,7 +15872,7 @@ s/.\{148\}//
  t nl
  :delim
  h
@@ -4968,7 +6541,7 @@ Index: libffi/configure
  t more2
  s/["\\]/\\&/g; s/^/"/; s/$/"/
  p
-@@ -13923,7 +14696,7 @@ t delim
+@@ -13919,7 +15892,7 @@ t delim
  rm -f conf$$subs.awk
  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  _ACAWK
@@ -4977,7 +6550,7 @@ Index: libffi/configure
    for (key in S) S_is_set[key] = 1
    FS = "\a"
  
-@@ -13955,21 +14728,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
+@@ -13951,21 +15924,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
    sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
  else
    cat
@@ -5016,7 +6589,7 @@ Index: libffi/configure
  s/^[^=]*=[     ]*$//
  }'
  fi
-@@ -13981,7 +14762,7 @@ fi # test -n "$CONFIG_FILES"
+@@ -13977,7 +15958,7 @@ fi # test -n "$CONFIG_FILES"
  # No need to generate them if there are no CONFIG_HEADERS.
  # This happens for instance with `./config.status Makefile'.
  if test -n "$CONFIG_HEADERS"; then
@@ -5025,7 +6598,7 @@ Index: libffi/configure
  BEGIN {
  _ACEOF
  
-@@ -13993,11 +14774,11 @@ _ACEOF
+@@ -13989,11 +15970,11 @@ _ACEOF
  # handling of long lines.
  ac_delim='%!_!# '
  for ac_last_try in false false :; do
@@ -5040,7 +6613,7 @@ Index: libffi/configure
    else
      ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
    fi
-@@ -14082,7 +14863,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
+@@ -14078,7 +16059,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
  _ACAWK
  _ACEOF
  cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
@@ -5049,7 +6622,7 @@ Index: libffi/configure
  fi # test -n "$CONFIG_HEADERS"
  
  
-@@ -14095,7 +14876,7 @@ do
+@@ -14091,7 +16072,7 @@ do
    esac
    case $ac_mode$ac_tag in
    :[FHL]*:*);;
@@ -5058,7 +6631,7 @@ Index: libffi/configure
    :[FH]-) ac_tag=-:-;;
    :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
    esac
-@@ -14114,7 +14895,7 @@ do
+@@ -14110,7 +16091,7 @@ do
      for ac_f
      do
        case $ac_f in
@@ -5067,7 +6640,7 @@ Index: libffi/configure
        *) # Look for the file first in the build tree, then in the source tree
         # (if the path is not absolute).  The absolute path cannot be DOS-style,
         # because $ac_f cannot contain `:'.
-@@ -14123,7 +14904,7 @@ do
+@@ -14119,7 +16100,7 @@ do
           [\\/$]*) false;;
           *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
           esac ||
@@ -5076,7 +6649,7 @@ Index: libffi/configure
        esac
        case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
        as_fn_append ac_file_inputs " '$ac_f'"
-@@ -14149,8 +14930,8 @@ $as_echo "$as_me: creating $ac_file" >&6
+@@ -14145,8 +16126,8 @@ $as_echo "$as_me: creating $ac_file" >&6
      esac
  
      case $ac_tag in
@@ -5087,7 +6660,7 @@ Index: libffi/configure
      esac
      ;;
    esac
-@@ -14286,23 +15067,24 @@ s&@INSTALL@&$ac_INSTALL&;t t
+@@ -14282,23 +16263,24 @@ s&@INSTALL@&$ac_INSTALL&;t t
  s&@MKDIR_P@&$ac_MKDIR_P&;t t
  $ac_datarootdir_hack
  "
@@ -5122,7 +6695,7 @@ Index: libffi/configure
   ;;
    :H)
    #
-@@ -14311,21 +15093,21 @@ which seems to be undefined.  Please mak
+@@ -14307,21 +16289,21 @@ which seems to be undefined.  Please mak
    if test x"$ac_file" != x-; then
      {
        $as_echo "/* $configure_input  */" \
@@ -5152,7 +6725,7 @@ Index: libffi/configure
    fi
  # Compute "$ac_file"'s index in $config_headers.
  _am_arg="$ac_file"
-@@ -14379,19 +15161,19 @@ $as_echo X"$_am_arg" |
+@@ -14375,19 +16357,19 @@ $as_echo X"$_am_arg" |
  $as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
  
      if test ! -r "$ac_source"; then
@@ -5175,7 +6748,7 @@ Index: libffi/configure
    fi
   ;;
    :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-@@ -14401,14 +15183,6 @@ $as_echo "$as_me: executing $ac_file com
+@@ -14397,14 +16379,150 @@ $as_echo "$as_me: executing $ac_file com
  
  
    case $ac_file$ac_mode in
@@ -5187,10 +6760,154 @@ Index: libffi/configure
 -   ac_file=Makefile . ${multi_basedir}/config-ml.in
 -   ;;
 -esac ;;
++    "buildir":C)   ac_top_srcdir="$ax_enable_builddir_srcdir"
++  if test ".$ax_enable_builddir" = ".." ; then
++    if test -f "$top_srcdir/Makefile" ; then
++      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - left untouched" >&5
++$as_echo "$as_me: skipping top_srcdir/Makefile - left untouched" >&6;}
++    else
++      { $as_echo "$as_me:${as_lineno-$LINENO}: skipping top_srcdir/Makefile - not created" >&5
++$as_echo "$as_me: skipping top_srcdir/Makefile - not created" >&6;}
++    fi
++  else
++    if test -f "$ac_top_srcdir/Makefile" ; then
++      a=`grep "^VERSION " "$ac_top_srcdir/Makefile"` ; b=`grep "^VERSION " Makefile`
++      test "$a" != "$b" && rm "$ac_top_srcdir/Makefile"
++    fi
++    if test -f "$ac_top_srcdir/Makefile" ; then
++      echo "$ac_top_srcdir/Makefile : $ac_top_srcdir/Makefile.in" > $tmp/conftemp.mk
++      echo "  @ echo 'REMOVED,,,' >\$@" >> $tmp/conftemp.mk
++      eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
++      if grep '^REMOVED,,,' "$ac_top_srcdir/Makefile" >/dev/null
++      then rm $ac_top_srcdir/Makefile ; fi
++      cp $tmp/conftemp.mk $ac_top_srcdir/makefiles.mk~      ## DEBUGGING
++    fi
++    if test ! -f "$ac_top_srcdir/Makefile" ; then
++      { $as_echo "$as_me:${as_lineno-$LINENO}: create top_srcdir/Makefile guessed from local Makefile" >&5
++$as_echo "$as_me: create top_srcdir/Makefile guessed from local Makefile" >&6;}
++      x='`' ; cat >$tmp/conftemp.sed <<_EOF
++/^\$/n
++x
++/^\$/bS
++x
++/\\\\\$/{H;d;}
++{H;s/.*//;x;}
++bM
++:S
++x
++/\\\\\$/{h;d;}
++{h;s/.*//;x;}
++:M
++s/\\(\\n\\)   /\\1 /g
++/^    /d
++/^[    ]*[\\#]/d
++/^VPATH *=/d
++s/^srcdir *=.*/srcdir = ./
++s/^top_srcdir *=.*/top_srcdir = ./
++/[:=]/!d
++/^\\./d
++/ = /b
++/ .= /b
++/:/!b
++s/:.*/:/
++s/ /  /g
++s/ \\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/ \\1 \\1-all\\2/g
++s/^\\([a-z][a-z-]*[a-zA-Z0-9]\\)\\([ :]\\)/\\1 \\1-all\\2/
++s/  / /g
++/^all all-all[ :]/i\\
++all-configured : all-all
++s/ [a-zA-Z0-9-]*-all [a-zA-Z0-9-]*-all-all//g
++/-all-all/d
++a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
++      ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
++      ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
++      ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
++      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
++/dist-all *:/a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
++      ; if test "\$\$found" -eq "0" ; then : \\\\\\
++      ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
++      ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
++      ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
++/dist-[a-zA-Z0-9]*-all *:/a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
++      ; if test "\$\$found" -eq "0" ; then : \\\\\\
++      ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
++      ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
++      ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
++/distclean-all *:/a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh $ax_enable_builddir_auxdir/config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; use=$x basename "\$\@" -all $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
++      ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
++      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
++      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
++      ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
++      ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
++_EOF
++      cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefile.sed~"            ## DEBUGGING
++      $ax_enable_builddir_sed -f $tmp/conftemp.sed Makefile >$ac_top_srcdir/Makefile
++      if test -f "$ac_top_srcdir/Makefile.mk" ; then
++        { $as_echo "$as_me:${as_lineno-$LINENO}: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&5
++$as_echo "$as_me: extend top_srcdir/Makefile with top_srcdir/Makefile.mk" >&6;}
++        cat $ac_top_srcdir/Makefile.mk >>$ac_top_srcdir/Makefile
++      fi ; xxxx="####"
++      echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$ac_top_srcdir/Makefile
++      # sanity check
++      if grep '^; echo "MAKE ' $ac_top_srcdir/Makefile >/dev/null ; then
++        { $as_echo "$as_me:${as_lineno-$LINENO}: buggy sed found - it deletes tab in \"a\" text parts" >&5
++$as_echo "$as_me: buggy sed found - it deletes tab in \"a\" text parts" >&6;}
++        $ax_enable_builddir_sed -e '/^@ HOST=/s/^/    /' -e '/^; /s/^/        /' $ac_top_srcdir/Makefile \
++          >$ac_top_srcdir/Makefile~
++        (test -s $ac_top_srcdir/Makefile~ && mv $ac_top_srcdir/Makefile~ $ac_top_srcdir/Makefile) 2>/dev/null
++      fi
++    else
++      xxxx="\\#\\#\\#\\#"
++      # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
++      echo "s!^$xxxx [^|]* | *$ax_enable_builddir *\$!$xxxx ...... $ax_enable_builddir!" >$tmp/conftemp.sed
++      $ax_enable_builddir_sed -f "$tmp/conftemp.sed" "$ac_top_srcdir/Makefile" >$tmp/mkfile.tmp
++        cp "$tmp/conftemp.sed" "$ac_top_srcdir/makefiles.sed~"         ## DEBUGGING
++        cp "$tmp/mkfile.tmp"   "$ac_top_srcdir/makefiles.out~"         ## DEBUGGING
++      if cmp -s "$ac_top_srcdir/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
++        { $as_echo "$as_me:${as_lineno-$LINENO}: keeping top_srcdir/Makefile from earlier configure" >&5
++$as_echo "$as_me: keeping top_srcdir/Makefile from earlier configure" >&6;}
++        rm "$tmp/mkfile.tmp"
++      else
++        { $as_echo "$as_me:${as_lineno-$LINENO}: reusing top_srcdir/Makefile from earlier configure" >&5
++$as_echo "$as_me: reusing top_srcdir/Makefile from earlier configure" >&6;}
++        mv "$tmp/mkfile.tmp" "$ac_top_srcdir/Makefile"
++      fi
++    fi
++    { $as_echo "$as_me:${as_lineno-$LINENO}: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&5
++$as_echo "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)" >&6;}
++    xxxx="####"
++    echo "$xxxx" "$ax_enable_builddir_host" "|$ax_enable_builddir" >>$ac_top_srcdir/Makefile
++  fi
++ ;;
      "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
    # Autoconf 2.62 quotes --file arguments for eval, but not when files
    # are listed without --file.  Let's play safe and only enable the eval
-@@ -14525,7 +15299,8 @@ $as_echo X"$file" |
+@@ -14521,7 +16639,8 @@ $as_echo X"$file" |
  # NOTE: Changes made to this file will be lost: look at ltmain.sh.
  #
  #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -5200,7 +6917,7 @@ Index: libffi/configure
  #   Written by Gordon Matzigkeit, 1996
  #
  #   This file is part of GNU Libtool.
-@@ -14628,19 +15403,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -14624,19 +16743,42 @@ SP2NL=$lt_lt_SP2NL
  # turn newlines into spaces.
  NL2SP=$lt_lt_NL2SP
  
@@ -5244,7 +6961,7 @@ Index: libffi/configure
  # A symbol stripping program.
  STRIP=$lt_STRIP
  
-@@ -14670,6 +15468,12 @@ global_symbol_to_c_name_address=$lt_lt_c
+@@ -14666,6 +16808,12 @@ global_symbol_to_c_name_address=$lt_lt_c
  # Transform the output of nm in a C name address pair when lib prefix is needed.
  global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
  
@@ -5257,7 +6974,7 @@ Index: libffi/configure
  # The name of the directory that contains temporary libtool files.
  objdir=$objdir
  
-@@ -14679,6 +15483,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -14675,6 +16823,9 @@ MAGIC_CMD=$MAGIC_CMD
  # Must we lock files when doing compilation?
  need_locks=$lt_need_locks
  
@@ -5267,7 +6984,7 @@ Index: libffi/configure
  # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
  DSYMUTIL=$lt_DSYMUTIL
  
-@@ -14793,12 +15600,12 @@ with_gcc=$GCC
+@@ -14789,12 +16940,12 @@ with_gcc=$GCC
  # Compiler flag to turn off builtin functions.
  no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
  
@@ -5283,7 +7000,7 @@ Index: libffi/configure
  # Compiler flag to prevent dynamic linking.
  link_static_flag=$lt_lt_prog_compiler_static
  
-@@ -14885,9 +15692,6 @@ inherit_rpath=$inherit_rpath
+@@ -14881,9 +17032,6 @@ inherit_rpath=$inherit_rpath
  # Whether libtool must link a program against all its dependency libraries.
  link_all_deplibs=$link_all_deplibs
  
@@ -5293,7 +7010,7 @@ Index: libffi/configure
  # Set to "yes" if exported symbols are required.
  always_export_symbols=$always_export_symbols
  
-@@ -14903,6 +15707,9 @@ include_expsyms=$lt_include_expsyms
+@@ -14899,6 +17047,9 @@ include_expsyms=$lt_include_expsyms
  # Commands necessary for linking programs (against libraries) with templates.
  prelink_cmds=$lt_prelink_cmds
  
@@ -5303,7 +7020,7 @@ Index: libffi/configure
  # Specify filename containing input files.
  file_list_spec=$lt_file_list_spec
  
-@@ -14935,210 +15742,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -14931,210 +17082,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
    # if finds mixed CR/LF and LF-only lines.  Since sed operates in
    # text mode, it properly converts lines to CR/LF.  This bash problem
    # is reportedly fixed, but why not run on old versions too?
@@ -5674,7 +7391,7 @@ Index: libffi/configure
      (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
    chmod +x "$ofile"
  
-@@ -15158,7 +15924,7 @@ _ACEOF
+@@ -15154,7 +17264,7 @@ _ACEOF
  ac_clean_files=$ac_clean_files_save
  
  test $ac_write_fail = 0 ||
@@ -5683,7 +7400,7 @@ Index: libffi/configure
  
  
  # configure is writing to config.log, and then calls config.status.
-@@ -15179,7 +15945,7 @@ if test "$no_create" != yes; then
+@@ -15175,7 +17285,7 @@ if test "$no_create" != yes; then
    exec 5>>config.log
    # Use ||, not &&, to avoid exiting from the if with $? = 1, which
    # would make configure fail if this is the last instruction.
@@ -5696,11 +7413,9 @@ Index: libffi/configure.ac
 ===================================================================
 --- libffi.orig/configure.ac
 +++ libffi/configure.ac
-@@ -1,12 +1,10 @@
- dnl Process this with autoconf to create configure
+@@ -2,33 +2,45 @@ dnl Process this with autoconf to create
  
--AC_PREREQ(2.64)
-+AC_PREREQ(2.63)
+ AC_PREREQ(2.64)
  
 -AC_INIT([libffi], [3.0.9], [http://gcc.gnu.org/bugs.html])
 +AC_INIT([libffi], [3.0.11-rc2], [http://github.com/atgreen/libffi/issues])
@@ -5711,11 +7426,25 @@ Index: libffi/configure.ac
  AC_CANONICAL_SYSTEM
  target_alias=${target_alias-$host_alias}
  
-@@ -22,13 +20,15 @@ AM_INIT_AUTOMAKE
+ . ${srcdir}/configure.host
++AX_ENABLE_BUILDDIR
++
+ AM_INIT_AUTOMAKE
+ # The same as in boehm-gc and libstdc++. Have to borrow it from there.
+ # We must force CC to /not/ be precious variables; otherwise
+ # the wrong, non-multilib-adjusted value will be used in multilibs.
+ # As a side effect, we have to subst CFLAGS ourselves.
++# Also save and restore CFLAGS, since AC_PROG_CC will come up with
++# defaults of its own if none are provided.
  m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
  m4_define([_AC_ARG_VAR_PRECIOUS],[])
++save_CFLAGS=$CFLAGS
  AC_PROG_CC
 -m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
++CFLAGS=$save_CFLAGS
 +m4_undefine([_AC_ARG_VAR_PRECIOUS])
 +m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
  
@@ -5725,10 +7454,16 @@ Index: libffi/configure.ac
  AM_PROG_CC_C_O
  AC_PROG_LIBTOOL
 +AC_CONFIG_MACRO_DIR([m4])
++
++AX_CC_MAXOPT
++AX_CFLAGS_WARN_ALL
++if test "x$GCC" = "xyes"; then
++  CFLAGS="$CFLAGS -fexceptions"
++fi
  
  AM_MAINTAINER_MODE
  
-@@ -53,6 +53,10 @@ case "$host" in
+@@ -53,6 +65,10 @@ case "$host" in
  
    amd64-*-freebsd* | amd64-*-openbsd*)
        TARGET=X86_64; TARGETDIR=x86
@@ -5739,7 +7474,65 @@ Index: libffi/configure.ac
        ;;
  
    avr32*-*-*)
-@@ -204,6 +208,7 @@ AM_CONDITIONAL(ALPHA, test x$TARGET = xA
+@@ -67,7 +83,7 @@ case "$host" in
+       TARGET=FRV; TARGETDIR=frv
+       ;;
+-  hppa*-*-linux* | parisc*-*-linux*)
++  hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
+       TARGET=PA_LINUX; TARGETDIR=pa
+       ;;
+   hppa*64-*-hpux*)
+@@ -80,7 +96,7 @@ case "$host" in
+   i?86-*-freebsd* | i?86-*-openbsd*)
+       TARGET=X86_FREEBSD; TARGETDIR=x86
+       ;;
+-  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2*)
++  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
+       TARGET=X86_WIN32; TARGETDIR=x86
+       # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+       # We must also check with_cross_host to decide if this is a native
+@@ -117,28 +133,35 @@ case "$host" in
+   mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
+       TARGET=MIPS; TARGETDIR=mips
+       ;;
+-  mips*-*-linux*)
++  mips*-*-linux* | mips*-*-openbsd*)
+       # Support 128-bit long double for NewABI.
+       HAVE_LONG_DOUBLE='defined(__mips64)'
+       TARGET=MIPS; TARGETDIR=mips
+       ;;
++  moxie-*-*)
++        TARGET=MOXIE; TARGETDIR=moxie
++      ;;
++
+   powerpc*-*-linux* | powerpc-*-sysv*)
+       TARGET=POWERPC; TARGETDIR=powerpc
+       ;;
++  powerpc-*-amigaos*)
++      TARGET=POWERPC; TARGETDIR=powerpc
++      ;;
+   powerpc-*-beos*)
+       TARGET=POWERPC; TARGETDIR=powerpc
+       ;;
+-  powerpc-*-darwin*)
++  powerpc-*-darwin* | powerpc64-*-darwin*)
+       TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
+       ;;
+   powerpc-*-aix* | rs6000-*-aix*)
+       TARGET=POWERPC_AIX; TARGETDIR=powerpc
+       ;;
+-  powerpc-*-freebsd*)
++  powerpc-*-freebsd* | powerpc-*-openbsd*)
+       TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
+       ;;
+- powerpc64-*-freebsd*)
++  powerpc64-*-freebsd*)
+       TARGET=POWERPC; TARGETDIR=powerpc
+       ;;
+   powerpc*-*-rtems*)
+@@ -200,6 +223,7 @@ AM_CONDITIONAL(ALPHA, test x$TARGET = xA
  AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
  AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
  AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
@@ -5747,7 +7540,131 @@ Index: libffi/configure.ac
  AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
  AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
  AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
-@@ -423,21 +428,25 @@ AC_ARG_ENABLE(purify-safety,
+@@ -311,13 +335,30 @@ if test x$TARGET = xX86 || test x$TARGET
+     fi
+ fi
++if test x$TARGET = xX86_WIN64; then
++    LT_SYS_SYMBOL_USCORE
++    if test "x$sys_symbol_underscore" = xyes; then
++        AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
++    fi
++fi
++
++
++FFI_EXEC_TRAMPOLINE_TABLE=0
+ case "$target" in
+-     *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
++     *arm*-apple-darwin*)
++       FFI_EXEC_TRAMPOLINE_TABLE=1
++       AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
++                 [Cannot use PROT_EXEC on this target, so, we revert to
++                   alternative means])
++     ;;
++     *-apple-darwin1[[10]]* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
+        AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
+                  [Cannot use malloc on this target, so, we revert to
+                    alternative means])
+      ;;
+ esac
++AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
++AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
+ if test x$TARGET = xX86_64; then
+     AC_CACHE_CHECK([assembler supports unwind section type],
+@@ -334,44 +375,46 @@ if test x$TARGET = xX86_64; then
+     fi
+ fi
+-AC_CACHE_CHECK([whether .eh_frame section should be read-only],
+-    libffi_cv_ro_eh_frame, [
+-      libffi_cv_ro_eh_frame=no
+-      echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
+-      if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
+-          if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
+-              libffi_cv_ro_eh_frame=yes
+-          elif grep '.section.*eh_frame.*#alloc' conftest.c \
+-               | grep -v '#write' > /dev/null; then
+-              libffi_cv_ro_eh_frame=yes
+-          fi
+-      fi
+-      rm -f conftest.*
+-    ])
+-if test "x$libffi_cv_ro_eh_frame" = xyes; then
+-    AC_DEFINE(HAVE_RO_EH_FRAME, 1,
+-            [Define if .eh_frame sections should be read-only.])
+-    AC_DEFINE(EH_FRAME_FLAGS, "a",
+-            [Define to the flags needed for the .section .eh_frame directive.])
+-else
+-    AC_DEFINE(EH_FRAME_FLAGS, "aw",
+-            [Define to the flags needed for the .section .eh_frame directive.])
+-fi
++if test "x$GCC" = "xyes"; then
++  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
++      libffi_cv_ro_eh_frame, [
++      libffi_cv_ro_eh_frame=no
++      echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
++      if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
++          if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
++              libffi_cv_ro_eh_frame=yes
++          elif grep '.section.*eh_frame.*#alloc' conftest.c \
++               | grep -v '#write' > /dev/null; then
++              libffi_cv_ro_eh_frame=yes
++          fi
++      fi
++      rm -f conftest.*
++      ])
++  if test "x$libffi_cv_ro_eh_frame" = xyes; then
++      AC_DEFINE(HAVE_RO_EH_FRAME, 1,
++            [Define if .eh_frame sections should be read-only.])
++      AC_DEFINE(EH_FRAME_FLAGS, "a",
++            [Define to the flags needed for the .section .eh_frame directive.  ])
++  else
++      AC_DEFINE(EH_FRAME_FLAGS, "aw",
++            [Define to the flags needed for the .section .eh_frame directive.  ])
++  fi
+-AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
+-    libffi_cv_hidden_visibility_attribute, [
+-      echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
+-      libffi_cv_hidden_visibility_attribute=no
+-      if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
+-          if grep '\.hidden.*foo' conftest.s >/dev/null; then
+-              libffi_cv_hidden_visibility_attribute=yes
+-          fi
+-      fi
+-      rm -f conftest.*
+-    ])
+-if test $libffi_cv_hidden_visibility_attribute = yes; then
+-    AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
+-            [Define if __attribute__((visibility("hidden"))) is supported.])
++  AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
++      libffi_cv_hidden_visibility_attribute, [
++      echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1  ; }' > conftest.c
++      libffi_cv_hidden_visibility_attribute=no
++      if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
++          if grep '\.hidden.*foo' conftest.s >/dev/null; then
++              libffi_cv_hidden_visibility_attribute=yes
++          fi
++      fi
++      rm -f conftest.*
++      ])
++  if test $libffi_cv_hidden_visibility_attribute = yes; then
++      AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
++            [Define if __attribute__((visibility("hidden"))) is supported.])
++  fi
+ fi
+ AH_BOTTOM([
+@@ -400,6 +443,7 @@ AC_ARG_ENABLE(debug,
+   if test "$enable_debug" = "yes"; then
+     AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
+   fi)
++AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
+ AC_ARG_ENABLE(structs,
+ [  --disable-structs       omit code for struct support],
+@@ -419,21 +463,25 @@ AC_ARG_ENABLE(purify-safety,
      AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
    fi)
  
@@ -5787,7 +7704,7 @@ Index: libffi/configure.ac
  
  if test "${multilib}" = "yes"; then
    multilib_arg="--enable-multilib"
-@@ -453,6 +462,6 @@ test -d src/$TARGETDIR || mkdir src/$TAR
+@@ -449,6 +497,6 @@ test -d src/$TARGETDIR || mkdir src/$TAR
  
  AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
  
@@ -13265,6 +15182,167 @@ Index: libffi/texinfo.tex
 +@ignore
 +   arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
 +@end ignore
+Index: libffi/include/Makefile.am
+===================================================================
+--- libffi.orig/include/Makefile.am
++++ libffi/include/Makefile.am
+@@ -5,8 +5,5 @@ AUTOMAKE_OPTIONS=foreign
+ DISTCLEANFILES=ffitarget.h
+ EXTRA_DIST=ffi.h.in ffi_common.h
+-# Where generated headers like ffitarget.h get installed.
+-gcc_version   := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+-toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
+-
+-toollibffi_HEADERS = ffi.h ffitarget.h
++includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
++nodist_includes_HEADERS = ffi.h ffitarget.h
+Index: libffi/testsuite/Makefile.am
+===================================================================
+--- libffi.orig/testsuite/Makefile.am
++++ libffi/testsuite/Makefile.am
+@@ -14,3 +14,67 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
+ AM_RUNTESTFLAGS =
+ CLEANFILES = *.exe core* *.log *.sum
++
++EXTRA_DIST = libffi.special/special.exp       \
++libffi.special/unwindtest_ffi_call.cc libffi.special/unwindtest.cc \
++libffi.special/ffitestcxx.h config/default.exp lib/target-libpath.exp \
++lib/libffi.exp lib/wrapper.exp libffi.call/float.c \
++libffi.call/cls_multi_schar.c libffi.call/float3.c \
++libffi.call/cls_3_1byte.c libffi.call/stret_large2.c \
++libffi.call/cls_5_1_byte.c libffi.call/stret_medium.c \
++libffi.call/promotion.c libffi.call/cls_dbls_struct.c \
++libffi.call/nested_struct.c libffi.call/closure_fn1.c \
++libffi.call/cls_4_1byte.c libffi.call/cls_float.c \
++libffi.call/cls_2byte.c libffi.call/closure_fn4.c \
++libffi.call/return_fl2.c libffi.call/nested_struct7.c \
++libffi.call/cls_uint.c libffi.call/cls_align_sint64.c \
++libffi.call/float1.c libffi.call/cls_19byte.c \
++libffi.call/nested_struct1.c libffi.call/cls_4byte.c \
++libffi.call/return_fl1.c libffi.call/cls_align_pointer.c \
++libffi.call/nested_struct4.c libffi.call/nested_struct3.c \
++libffi.call/struct7.c libffi.call/nested_struct9.c \
++libffi.call/cls_sshort.c libffi.call/cls_ulonglong.c \
++libffi.call/cls_pointer_stack.c libffi.call/cls_multi_uchar.c \
++libffi.call/testclosure.c libffi.call/cls_3byte1.c \
++libffi.call/struct6.c libffi.call/return_uc.c libffi.call/return_ll1.c \
++libffi.call/cls_ushort.c libffi.call/stret_medium2.c \
++libffi.call/cls_multi_ushortchar.c libffi.call/return_dbl2.c \
++libffi.call/closure_loc_fn0.c libffi.call/return_sc.c \
++libffi.call/nested_struct8.c libffi.call/cls_7_1_byte.c       \
++libffi.call/return_ll.c libffi.call/cls_pointer.c \
++libffi.call/err_bad_abi.c libffi.call/return_dbl1.c \
++libffi.call/call.exp libffi.call/ffitest.h libffi.call/strlen.c       \
++libffi.call/return_sl.c libffi.call/cls_1_1byte.c \
++libffi.call/struct1.c libffi.call/cls_64byte.c libffi.call/return_ul.c \
++libffi.call/cls_double.c libffi.call/many_win32.c \
++libffi.call/cls_16byte.c libffi.call/cls_align_double.c       \
++libffi.call/cls_align_uint16.c libffi.call/cls_9byte1.c       \
++libffi.call/cls_multi_sshortchar.c libffi.call/cls_multi_ushort.c \
++libffi.call/closure_stdcall.c libffi.call/return_fl.c \
++libffi.call/strlen_win32.c libffi.call/return_ldl.c \
++libffi.call/cls_align_float.c libffi.call/struct3.c \
++libffi.call/cls_uchar.c libffi.call/cls_sint.c libffi.call/float2.c \
++libffi.call/cls_align_longdouble_split.c \
++libffi.call/cls_longdouble_va.c libffi.call/cls_multi_sshort.c \
++libffi.call/stret_large.c libffi.call/cls_align_sint16.c \
++libffi.call/nested_struct6.c libffi.call/cls_5byte.c \
++libffi.call/return_dbl.c libffi.call/cls_20byte.c \
++libffi.call/cls_8byte.c libffi.call/pyobjc-tc.c       \
++libffi.call/cls_24byte.c libffi.call/cls_align_longdouble_split2.c \
++libffi.call/cls_6_1_byte.c libffi.call/cls_schar.c \
++libffi.call/cls_18byte.c libffi.call/closure_fn3.c \
++libffi.call/err_bad_typedef.c libffi.call/closure_fn2.c       \
++libffi.call/struct2.c libffi.call/cls_3byte2.c \
++libffi.call/cls_align_longdouble.c libffi.call/cls_20byte1.c \
++libffi.call/return_fl3.c libffi.call/cls_align_uint32.c       \
++libffi.call/problem1.c libffi.call/float4.c \
++libffi.call/cls_align_uint64.c libffi.call/struct9.c \
++libffi.call/closure_fn5.c libffi.call/cls_align_sint32.c \
++libffi.call/closure_fn0.c libffi.call/closure_fn6.c \
++libffi.call/struct4.c libffi.call/nested_struct2.c \
++libffi.call/cls_6byte.c libffi.call/cls_7byte.c libffi.call/many.c \
++libffi.call/struct8.c libffi.call/negint.c libffi.call/struct5.c \
++libffi.call/cls_12byte.c libffi.call/cls_double_va.c \
++libffi.call/cls_longdouble.c libffi.call/cls_9byte2.c \
++libffi.call/nested_struct10.c libffi.call/nested_struct5.c \
++libffi.call/huge_struct.c
+Index: libffi/testsuite/lib/libffi.exp
+===================================================================
+--- libffi.orig/testsuite/lib/libffi.exp
++++ libffi/testsuite/lib/libffi.exp
+@@ -1,4 +1,4 @@
+-#   Copyright (C) 2003, 2005, 2008, 2009, 2010 Free Software Foundation, Inc.
++#   Copyright (C) 2003, 2005, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -16,7 +16,7 @@
+ proc load_gcc_lib { filename } {
+     global srcdir
+-    load_file $srcdir/../../gcc/testsuite/lib/$filename
++    load_file $srcdir/lib/$filename
+ }
+ load_lib dg.exp
+@@ -94,7 +94,6 @@ proc libffi-init { args } {
+     global srcdir
+     global blddirffi
+     global objdir
+-    global blddircxx
+     global TOOL_OPTIONS
+     global tool
+     global libffi_include
+@@ -102,10 +101,8 @@ proc libffi-init { args } {
+     global tool_root_dir
+     global ld_library_path
+-    set blddirffi [lookfor_file [get_multilibs] libffi]
++    set blddirffi [pwd]/.. 
+     verbose "libffi $blddirffi"
+-    set blddircxx [lookfor_file [get_multilibs] libstdc++-v3]
+-    verbose "libstdc++ $blddircxx"
+     set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
+     if {$gccdir != ""} {
+@@ -132,8 +129,6 @@ proc libffi-init { args } {
+     }
+     # add the library path for libffi.
+     append ld_library_path ":${blddirffi}/.libs"
+-    # add the library path for libstdc++ as well.
+-    append ld_library_path ":${blddircxx}/src/.libs"
+     verbose "ld_library_path: $ld_library_path"
+@@ -146,7 +141,6 @@ proc libffi-init { args } {
+     if { $libffi_dir != "" } {
+       set libffi_dir [file dirname ${libffi_dir}]
+       set libffi_link_flags "-L${libffi_dir}/.libs"
+-      lappend libffi_link_flags "-L${blddircxx}/src/.libs"
+     }
+     set_ld_library_path_env_vars
+Index: libffi/m4/asmcfi.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/asmcfi.m4
+@@ -0,0 +1,13 @@
++AC_DEFUN([GCC_AS_CFI_PSEUDO_OP],
++[AC_CACHE_CHECK([assembler .cfi pseudo-op support],
++    gcc_cv_as_cfi_pseudo_op, [
++    gcc_cv_as_cfi_pseudo_op=unknown
++    AC_TRY_COMPILE([asm (".cfi_startproc\n\t.cfi_endproc");],,
++                 [gcc_cv_as_cfi_pseudo_op=yes],
++                 [gcc_cv_as_cfi_pseudo_op=no])
++ ])
++ if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
++    AC_DEFINE(HAVE_AS_CFI_PSEUDO_OP, 1,
++            [Define if your assembler supports .cfi_* directives.])
++ fi
++])
 Index: libffi/testsuite/lib/target-libpath.exp
 ===================================================================
 --- /dev/null
@@ -13536,189 +15614,2738 @@ Index: libffi/testsuite/lib/target-libpath.exp
 Index: libffi/testsuite/lib/wrapper.exp
 ===================================================================
 --- /dev/null
-+++ libffi/testsuite/lib/wrapper.exp
-@@ -0,0 +1,45 @@
-+#   Copyright (C) 2004, 2007 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+# 
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+# 
-+# You should have received a copy of the GNU General Public License
-+# along with GCC; see the file COPYING3.  If not see
-+# <http://www.gnu.org/licenses/>.
-+
-+# This file contains GCC-specifics for status wrappers for test programs.
-+
-+# ${tool}_maybe_build_wrapper -- Build wrapper object if the target
-+# needs it.  FILENAME is the path to the wrapper file.  If there are
-+# additional arguments, they are command-line options to provide to
-+# the compiler when compiling FILENAME.
++++ libffi/testsuite/lib/wrapper.exp
+@@ -0,0 +1,45 @@
++#   Copyright (C) 2004, 2007 Free Software Foundation, Inc.
++
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++# 
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++# 
++# You should have received a copy of the GNU General Public License
++# along with GCC; see the file COPYING3.  If not see
++# <http://www.gnu.org/licenses/>.
++
++# This file contains GCC-specifics for status wrappers for test programs.
++
++# ${tool}_maybe_build_wrapper -- Build wrapper object if the target
++# needs it.  FILENAME is the path to the wrapper file.  If there are
++# additional arguments, they are command-line options to provide to
++# the compiler when compiling FILENAME.
++
++proc ${tool}_maybe_build_wrapper { filename args } {
++    global gluefile wrap_flags
++
++    if { [target_info needs_status_wrapper] != "" \
++       && [target_info needs_status_wrapper] != "0" \
++       && ![info exists gluefile] } {
++      set saved_wrap_compile_flags [target_info wrap_compile_flags]
++      set flags [join $args " "]
++      # The wrapper code may contain code that gcc objects on.  This
++      # became true for dejagnu-1.4.4.  The set of warnings and code
++      # that gcc objects on may change, so just make sure -w is always
++      # passed to turn off all warnings.
++      set_currtarget_info wrap_compile_flags \
++          "$saved_wrap_compile_flags -w $flags"
++      set result [build_wrapper $filename]
++      set_currtarget_info wrap_compile_flags "$saved_wrap_compile_flags"
++      if { $result != "" } {
++          set gluefile [lindex $result 0]
++          set wrap_flags [lindex $result 1]
++      }
++    }
++}
+Index: libffi/m4/ax_cc_maxopt.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_cc_maxopt.m4
+@@ -0,0 +1,180 @@
++# ===========================================================================
++#       http://www.gnu.org/software/autoconf-archive/ax_cc_maxopt.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_CC_MAXOPT
++#
++# DESCRIPTION
++#
++#   Try to turn on "good" C optimization flags for various compilers and
++#   architectures, for some definition of "good". (In our case, good for
++#   FFTW and hopefully for other scientific codes. Modify as needed.)
++#
++#   The user can override the flags by setting the CFLAGS environment
++#   variable. The user can also specify --enable-portable-binary in order to
++#   disable any optimization flags that might result in a binary that only
++#   runs on the host architecture.
++#
++#   Note also that the flags assume that ANSI C aliasing rules are followed
++#   by the code (e.g. for gcc's -fstrict-aliasing), and that floating-point
++#   computations can be re-ordered as needed.
++#
++#   Requires macros: AX_CHECK_COMPILE_FLAG, AX_COMPILER_VENDOR,
++#   AX_GCC_ARCHFLAG, AX_GCC_X86_CPUID.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++#   Copyright (c) 2008 Matteo Frigo
++#
++#   This program is free software: you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation, either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
++
++#serial 12
++
++AC_DEFUN([AX_CC_MAXOPT],
++[
++AC_REQUIRE([AC_PROG_CC])
++AC_REQUIRE([AX_COMPILER_VENDOR])
++AC_REQUIRE([AC_CANONICAL_HOST])
++
++AC_ARG_ENABLE(portable-binary, [AS_HELP_STRING([--enable-portable-binary], [disable compiler optimizations that would produce unportable binaries])],
++      acx_maxopt_portable=$withval, acx_maxopt_portable=no)
++
++# Try to determine "good" native compiler flags if none specified via CFLAGS
++if test "$ac_test_CFLAGS" != "set"; then
++  CFLAGS=""
++  case $ax_cv_c_compiler_vendor in
++    dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
++       if test "x$acx_maxopt_portable" = xno; then
++           CFLAGS="$CFLAGS -arch host"
++         fi;;
++
++    sun) CFLAGS="-native -fast -xO5 -dalign"
++       if test "x$acx_maxopt_portable" = xyes; then
++         CFLAGS="$CFLAGS -xarch=generic"
++         fi;;
++
++    hp)  CFLAGS="+Oall +Optrs_ansi +DSnative"
++       if test "x$acx_maxopt_portable" = xyes; then
++         CFLAGS="$CFLAGS +DAportable"
++       fi;;
++
++    ibm) if test "x$acx_maxopt_portable" = xno; then
++           xlc_opt="-qarch=auto -qtune=auto"
++       else
++           xlc_opt="-qtune=auto"
++       fi
++         AX_CHECK_COMPILE_FLAG($xlc_opt,
++              CFLAGS="-O3 -qansialias -w $xlc_opt",
++               [CFLAGS="-O3 -qansialias -w"
++                echo "******************************************************"
++                echo "*  You seem to have the IBM  C compiler.  It is      *"
++                echo "*  recommended for best performance that you use:    *"
++                echo "*                                                    *"
++                echo "*    CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
++                echo "*                      ^^^        ^^^                *"
++                echo "*  where xxx is pwr2, pwr3, 604, or whatever kind of *"
++                echo "*  CPU you have.  (Set the CFLAGS environment var.   *"
++                echo "*  and re-run configure.)  For more info, man cc.    *"
++                echo "******************************************************"])
++         ;;
++
++    intel) CFLAGS="-O3 -ansi_alias"
++      if test "x$acx_maxopt_portable" = xno; then
++        icc_archflag=unknown
++        icc_flags=""
++        case $host_cpu in
++          i686*|x86_64*)
++              # icc accepts gcc assembly syntax, so these should work:
++            AX_GCC_X86_CPUID(0)
++              AX_GCC_X86_CPUID(1)
++            case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
++                *:756e6547:*:*) # Intel
++                  case $ax_cv_gcc_x86_cpuid_1 in
++                    *6a?:*[[234]]:*:*|*6[[789b]]?:*:*:*) icc_flags="-xK";;
++                    *f3[[347]]:*:*:*|*f4[1347]:*:*:*) icc_flags="-xP -xN -xW -xK";;
++                    *f??:*:*:*) icc_flags="-xN -xW -xK";;
++                  esac ;;
++              esac ;;
++          esac
++          if test "x$icc_flags" != x; then
++            for flag in $icc_flags; do
++              AX_CHECK_COMPILE_FLAG($flag, [icc_archflag=$flag; break])
++            done
++          fi
++          AC_MSG_CHECKING([for icc architecture flag])
++        AC_MSG_RESULT($icc_archflag)
++          if test "x$icc_archflag" != xunknown; then
++            CFLAGS="$CFLAGS $icc_archflag"
++          fi
++        fi
++      ;;
++
++    gnu)
++     # default optimization flags for gcc on all systems
++     CFLAGS="-O3 -fomit-frame-pointer"
++
++     # -malign-double for x86 systems
++     AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
++
++     #  -fstrict-aliasing for gcc-2.95+
++     AX_CHECK_COMPILE_FLAG(-fstrict-aliasing,
++      CFLAGS="$CFLAGS -fstrict-aliasing")
++
++     # note that we enable "unsafe" fp optimization with other compilers, too
++     AX_CHECK_COMPILE_FLAG(-ffast-math, CFLAGS="$CFLAGS -ffast-math")
++
++     AX_GCC_ARCHFLAG($acx_maxopt_portable)
++     ;;
++  esac
++
++  if test -z "$CFLAGS"; then
++      echo ""
++      echo "********************************************************"
++        echo "* WARNING: Don't know the best CFLAGS for this system  *"
++        echo "* Use ./configure CFLAGS=... to specify your own flags *"
++      echo "* (otherwise, a default of CFLAGS=-O3 will be used)    *"
++      echo "********************************************************"
++      echo ""
++        CFLAGS="-O3"
++  fi
++
++  AX_CHECK_COMPILE_FLAG($CFLAGS, [], [
++      echo ""
++        echo "********************************************************"
++        echo "* WARNING: The guessed CFLAGS don't seem to work with  *"
++        echo "* your compiler.                                       *"
++        echo "* Use ./configure CFLAGS=... to specify your own flags *"
++        echo "********************************************************"
++        echo ""
++        CFLAGS=""
++  ])
++
++fi
++])
+Index: libffi/m4/ax_cflags_warn_all.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_cflags_warn_all.m4
+@@ -0,0 +1,121 @@
++# ===========================================================================
++#    http://www.gnu.org/software/autoconf-archive/ax_cflags_warn_all.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_CFLAGS_WARN_ALL   [(shellvar [,default, [A/NA]])]
++#   AX_CXXFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])]
++#   AX_FCFLAGS_WARN_ALL  [(shellvar [,default, [A/NA]])]
++#
++# DESCRIPTION
++#
++#   Try to find a compiler option that enables most reasonable warnings.
++#
++#   For the GNU compiler it will be -Wall (and -ansi -pedantic) The result
++#   is added to the shellvar being CFLAGS, CXXFLAGS, or FCFLAGS by default.
++#
++#   Currently this macro knows about the GCC, Solaris, Digital Unix, AIX,
++#   HP-UX, IRIX, NEC SX-5 (Super-UX 10), Cray J90 (Unicos 10.0.0.8), and
++#   Intel compilers.  For a given compiler, the Fortran flags are much more
++#   experimental than their C equivalents.
++#
++#    - $1 shell-variable-to-add-to : CFLAGS, CXXFLAGS, or FCFLAGS
++#    - $2 add-value-if-not-found : nothing
++#    - $3 action-if-found : add value to shellvariable
++#    - $4 action-if-not-found : nothing
++#
++#   NOTE: These macros depend on AX_APPEND_FLAG.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
++#   Copyright (c) 2010 Rhys Ulerich <rhys.ulerich@gmail.com>
++#
++#   This program is free software; you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation; either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
++
++#serial 13
++
++AC_DEFUN([AX_FLAGS_WARN_ALL],[dnl
++AS_VAR_PUSHDEF([FLAGS],[_AC_LANG_PREFIX[]FLAGS])dnl
++AS_VAR_PUSHDEF([VAR],[ac_cv_[]_AC_LANG_ABBREV[]flags_warn_all])dnl
++AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings],
++VAR,[VAR="no, unknown"
++ac_save_[]FLAGS="$[]FLAGS"
++for ac_arg dnl
++in "-warn all  % -warn all"   dnl Intel
++   "-pedantic  % -Wall"       dnl GCC
++   "-xstrconst % -v"          dnl Solaris C
++   "-std1      % -verbose -w0 -warnprotos" dnl Digital Unix
++   "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
++   "-ansi -ansiE % -fullwarn" dnl IRIX
++   "+ESlit     % +w1"         dnl HP-UX C
++   "-Xc        % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10)
++   "-h conform % -h msglevel 2" dnl Cray C (Unicos)
++   #
++do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
++   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
++                     [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
++done
++FLAGS="$ac_save_[]FLAGS"
++])
++AS_VAR_POPDEF([FLAGS])dnl
++case ".$VAR" in
++     .ok|.ok,*) m4_ifvaln($3,$3) ;;
++   .|.no|.no,*) m4_default($4,[m4_ifval($2,[AX_APPEND_FLAG([$2], [$1])])]) ;;
++   *) m4_default($3,[AX_APPEND_FLAG([$VAR], [$1])]) ;;
++esac
++AS_VAR_POPDEF([VAR])dnl
++])dnl AX_FLAGS_WARN_ALL
++dnl  implementation tactics:
++dnl   the for-argument contains a list of options. The first part of
++dnl   these does only exist to detect the compiler - usually it is
++dnl   a global option to enable -ansi or -extrawarnings. All other
++dnl   compilers will fail about it. That was needed since a lot of
++dnl   compilers will give false positives for some option-syntax
++dnl   like -Woption or -Xoption as they think of it is a pass-through
++dnl   to later compile stages or something. The "%" is used as a
++dnl   delimiter. A non-option comment can be given after "%%" marks
++dnl   which will be shown but not added to the respective C/CXXFLAGS.
++
++AC_DEFUN([AX_CFLAGS_WARN_ALL],[dnl
++AC_LANG_PUSH([C])
++AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4])
++AC_LANG_POP([C])
++])
++
++AC_DEFUN([AX_CXXFLAGS_WARN_ALL],[dnl
++AC_LANG_PUSH([C++])
++AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4])
++AC_LANG_POP([C++])
++])
++
++AC_DEFUN([AX_FCFLAGS_WARN_ALL],[dnl
++AC_LANG_PUSH([Fortran])
++AX_FLAGS_WARN_ALL([$1], [$2], [$3], [$4])
++AC_LANG_POP([Fortran])
++])
+Index: libffi/m4/ax_check_compiler_flags.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_check_compiler_flags.m4
+@@ -0,0 +1,76 @@
++# ===========================================================================
++#  http://www.gnu.org/software/autoconf-archive/ax_check_compiler_flags.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_CHECK_COMPILER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE])
++#
++# DESCRIPTION
++#
++#   Check whether the given compiler FLAGS work with the current language's
++#   compiler, or whether they give an error. (Warnings, however, are
++#   ignored.)
++#
++#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
++#   success/failure.
++#
++# LICENSE
++#
++#   Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu>
++#   Copyright (c) 2009 Matteo Frigo
++#
++#   This program is free software: you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation, either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
++
++#serial 9
++
++AC_DEFUN([AX_CHECK_COMPILER_FLAGS],
++[AC_PREREQ(2.59) dnl for _AC_LANG_PREFIX
++AC_MSG_CHECKING([whether _AC_LANG compiler accepts $1])
++dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname:
++AS_LITERAL_IF([$1],
++  [AC_CACHE_VAL(AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1]), [
++      ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
++      _AC_LANG_PREFIX[]FLAGS="$1"
++      AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
++        AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=yes,
++        AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=no)
++      _AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])],
++  [ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
++   _AC_LANG_PREFIX[]FLAGS="$1"
++   AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
++     eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=yes,
++     eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])=no)
++   _AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])
++eval ax_check_compiler_flags=$AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_[$1])
++AC_MSG_RESULT($ax_check_compiler_flags)
++if test "x$ax_check_compiler_flags" = xyes; then
++      m4_default([$2], :)
++else
++      m4_default([$3], :)
++fi
++])dnl AX_CHECK_COMPILER_FLAGS
+Index: libffi/m4/ax_compiler_vendor.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_compiler_vendor.m4
+@@ -0,0 +1,84 @@
++# ===========================================================================
++#    http://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_COMPILER_VENDOR
++#
++# DESCRIPTION
++#
++#   Determine the vendor of the C/C++ compiler, e.g., gnu, intel, ibm, sun,
++#   hp, borland, comeau, dec, cray, kai, lcc, metrowerks, sgi, microsoft,
++#   watcom, etc. The vendor is returned in the cache variable
++#   $ax_cv_c_compiler_vendor for C and $ax_cv_cxx_compiler_vendor for C++.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++#   Copyright (c) 2008 Matteo Frigo
++#
++#   This program is free software: you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation, either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
++
++#serial 11
++
++AC_DEFUN([AX_COMPILER_VENDOR],
++[AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor,
++  [# note: don't check for gcc first since some other compilers define __GNUC__
++  vendors="intel:     __ICC,__ECC,__INTEL_COMPILER
++           ibm:       __xlc__,__xlC__,__IBMC__,__IBMCPP__
++           pathscale: __PATHCC__,__PATHSCALE__
++           clang:     __clang__
++           gnu:       __GNUC__
++           sun:       __SUNPRO_C,__SUNPRO_CC
++           hp:        __HP_cc,__HP_aCC
++           dec:       __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
++           borland:   __BORLANDC__,__TURBOC__
++           comeau:    __COMO__
++           cray:      _CRAYC
++           kai:       __KCC
++           lcc:       __LCC__
++           sgi:       __sgi,sgi
++           microsoft: _MSC_VER
++           metrowerks: __MWERKS__
++           watcom:    __WATCOMC__
++           portland:  __PGI
++           unknown:   UNKNOWN"
++  for ventest in $vendors; do
++    case $ventest in
++      *:) vendor=$ventest; continue ;;
++      *)  vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;;
++    esac
++    AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[
++      #if !($vencpp)
++        thisisanerror;
++      #endif
++    ])], [break])
++  done
++  ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=`echo $vendor | cut -d: -f1`
++ ])
++])
+Index: libffi/m4/ax_configure_args.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_configure_args.m4
+@@ -0,0 +1,70 @@
++# ===========================================================================
++#     http://www.gnu.org/software/autoconf-archive/ax_configure_args.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_CONFIGURE_ARGS
++#
++# DESCRIPTION
++#
++#   Helper macro for AX_ENABLE_BUILDDIR.
++#
++#   The traditional way of starting a subdir-configure is running the script
++#   with ${1+"$@"} but since autoconf 2.60 this is broken. Instead we have
++#   to rely on eval'ing $ac_configure_args however some old autoconf
++#   versions do not provide that. To ensure maximum portability of autoconf
++#   extension macros this helper can be AC_REQUIRE'd so that
++#   $ac_configure_args will alsways be present.
++#
++#   Sadly, the traditional "exec $SHELL" of the enable_builddir macros is
++#   spoiled now and must be replaced by "eval + exit $?".
++#
++#   Example:
++#
++#     AC_DEFUN([AX_ENABLE_SUBDIR],[dnl
++#       AC_REQUIRE([AX_CONFIGURE_ARGS])dnl
++#       eval $SHELL $ac_configure_args || exit $?
++#       ...])
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
++#
++#   This program is free software; you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation; either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
++
++#serial 9
++
++AC_DEFUN([AX_CONFIGURE_ARGS],[
++   # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
++   if test "${ac_configure_args+set}" != "set" ; then
++      ac_configure_args=
++      for ac_arg in ${1+"[$]@"}; do
++         ac_configure_args="$ac_configure_args '$ac_arg'"
++      done
++   fi
++])
+Index: libffi/m4/ax_enable_builddir.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_enable_builddir.m4
+@@ -0,0 +1,300 @@
++# ===========================================================================
++#    http://www.gnu.org/software/autoconf-archive/ax_enable_builddir.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_ENABLE_BUILDDIR [(dirstring-or-command [,Makefile.mk [,-all]])]
++#
++# DESCRIPTION
++#
++#   If the current configure was run within the srcdir then we move all
++#   configure-files into a subdir and let the configure steps continue
++#   there. We provide an option --disable-builddir to suppress the move into
++#   a separate builddir.
++#
++#   Defaults:
++#
++#     $1 = $host (overridden with $HOST)
++#     $2 = Makefile.mk
++#     $3 = -all
++#
++#   This macro must be called before AM_INIT_AUTOMAKE. It creates a default
++#   toplevel srcdir Makefile from the information found in the created
++#   toplevel builddir Makefile. It just copies the variables and
++#   rule-targets, each extended with a default rule-execution that recurses
++#   into the build directory of the current "HOST". You can override the
++#   auto-dection through `config.guess` and build-time of course, as in
++#
++#     make HOST=i386-mingw-cross
++#
++#   which can of course set at configure time as well using
++#
++#     configure --host=i386-mingw-cross
++#
++#   After the default has been created, additional rules can be appended
++#   that will not just recurse into the subdirectories and only ever exist
++#   in the srcdir toplevel makefile - these parts are read from the $2 =
++#   Makefile.mk file
++#
++#   The automatic rules are usually scanning the toplevel Makefile for lines
++#   like '#### $host |$builddir' to recognize the place where to recurse
++#   into. Usually, the last one is the only one used. However, almost all
++#   targets have an additional "*-all" rule which makes the script to
++#   recurse into _all_ variants of the current HOST (!!) setting. The "-all"
++#   suffix can be overriden for the macro as well.
++#
++#   a special rule is only given for things like "dist" that will copy the
++#   tarball from the builddir to the sourcedir (or $(PUB)) for reason of
++#   convenience.
++#
++# LICENSE
++#
++#   Copyright (c) 2009 Guido U. Draheim <guidod@gmx.de>
++#   Copyright (c) 2009 Alan Jenkins <alan-jenkins@tuffmail.co.uk>
++#
++#   This program is free software; you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation; either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
++
++#serial 23
++
++AC_DEFUN([AX_ENABLE_BUILDDIR],[
++AC_REQUIRE([AC_CANONICAL_HOST])[]dnl
++AC_REQUIRE([AX_CONFIGURE_ARGS])[]dnl
++AC_REQUIRE([AM_AUX_DIR_EXPAND])[]dnl
++AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl
++AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
++AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
++AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
++SUB="."
++AC_ARG_ENABLE([builddir], AS_HELP_STRING(
++  [--disable-builddir],[disable automatic build in subdir of sources])
++  ,[SUB="$enableval"], [SUB="auto"])
++if test ".$ac_srcdir_defaulted" != ".no" ; then
++if test ".$srcdir" = ".." ; then
++  if test -f config.status ; then
++    AC_MSG_NOTICE(toplevel srcdir already configured... skipping subdir build)
++  else
++    test ".$SUB" = "."  && SUB="."
++    test ".$SUB" = ".no"  && SUB="."
++    test ".$TARGET" = "." && TARGET="$target"
++    test ".$SUB" = ".auto" && SUB="m4_ifval([$1], [$1],[$TARGET])"
++    if test ".$SUB" != ".." ; then    # we know where to go and
++      AS_MKDIR_P([$SUB])
++      echo __.$SUB.__ > $SUB/conftest.tmp
++      cd $SUB
++      if grep __.$SUB.__ conftest.tmp >/dev/null 2>/dev/null ; then
++        rm conftest.tmp
++        AC_MSG_RESULT([continue configure in default builddir "./$SUB"])
++      else
++        AC_MSG_ERROR([could not change to default builddir "./$SUB"])
++      fi
++      srcdir=`echo "$SUB" |
++              sed -e 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g;s,[[/]]$,,;'`
++      # going to restart from subdirectory location
++      test -f $srcdir/config.log   && mv $srcdir/config.log   .
++      test -f $srcdir/confdefs.h   && mv $srcdir/confdefs.h   .
++      test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
++      test -f $srcdir/$cache_file  && mv $srcdir/$cache_file  .
++      AC_MSG_RESULT(....exec $SHELL $srcdir/[$]0 "--srcdir=$srcdir" "--enable-builddir=$SUB" ${1+"[$]@"})
++      case "[$]0" in # restart
++       [/\\]*) eval $SHELL "'[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
++       *) eval $SHELL "'$srcdir/[$]0'" "'--srcdir=$srcdir'" "'--enable-builddir=$SUB'" $ac_configure_args ;;
++      esac ; exit $?
++    fi
++  fi
++fi fi
++test ".$SUB" = ".auto" && SUB="."
++dnl ac_path_prog uses "set dummy" to override $@ which would defeat the "exec"
++AC_PATH_PROG(SED,gsed sed, sed)
++AUX="$am_aux_dir"
++AS_VAR_POPDEF([SED])dnl
++AS_VAR_POPDEF([AUX])dnl
++AS_VAR_POPDEF([SUB])dnl
++AC_CONFIG_COMMANDS([buildir],[dnl .............. config.status ..............
++AS_VAR_PUSHDEF([SUB],[ax_enable_builddir])dnl
++AS_VAR_PUSHDEF([TOP],[top_srcdir])dnl
++AS_VAR_PUSHDEF([SRC],[ac_top_srcdir])dnl
++AS_VAR_PUSHDEF([AUX],[ax_enable_builddir_auxdir])dnl
++AS_VAR_PUSHDEF([SED],[ax_enable_builddir_sed])dnl
++pushdef([END],[Makefile.mk])dnl
++pushdef([_ALL],[ifelse([$3],,[-all],[$3])])dnl
++  SRC="$ax_enable_builddir_srcdir"
++  if test ".$SUB" = ".." ; then
++    if test -f "$TOP/Makefile" ; then
++      AC_MSG_NOTICE([skipping TOP/Makefile - left untouched])
++    else
++      AC_MSG_NOTICE([skipping TOP/Makefile - not created])
++    fi
++  else
++    if test -f "$SRC/Makefile" ; then
++      a=`grep "^VERSION " "$SRC/Makefile"` ; b=`grep "^VERSION " Makefile`
++      test "$a" != "$b" && rm "$SRC/Makefile"
++    fi
++    if test -f "$SRC/Makefile" ; then
++      echo "$SRC/Makefile : $SRC/Makefile.in" > $tmp/conftemp.mk
++      echo "  []@ echo 'REMOVED,,,' >\$[]@" >> $tmp/conftemp.mk
++      eval "${MAKE-make} -f $tmp/conftemp.mk 2>/dev/null >/dev/null"
++      if grep '^REMOVED,,,' "$SRC/Makefile" >/dev/null
++      then rm $SRC/Makefile ; fi
++      cp $tmp/conftemp.mk $SRC/makefiles.mk~      ## DEBUGGING
++    fi
++    if test ! -f "$SRC/Makefile" ; then
++      AC_MSG_NOTICE([create TOP/Makefile guessed from local Makefile])
++      x='`' ; cat >$tmp/conftemp.sed <<_EOF
++/^\$/n
++x
++/^\$/bS
++x
++/\\\\\$/{H;d;}
++{H;s/.*//;x;}
++bM
++:S
++x
++/\\\\\$/{h;d;}
++{h;s/.*//;x;}
++:M
++s/\\(\\n\\)   /\\1 /g
++/^    /d
++/^[[   ]]*[[\\#]]/d
++/^VPATH *=/d
++s/^srcdir *=.*/srcdir = ./
++s/^top_srcdir *=.*/top_srcdir = ./
++/[[:=]]/!d
++/^\\./d
++dnl Now handle rules (i.e. lines containing ":" but not " = ").
++/ = /b
++/ .= /b
++/:/!b
++s/:.*/:/
++s/ /  /g
++s/ \\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/ \\1 \\1[]_ALL\\2/g
++s/^\\([[a-z]][[a-z-]]*[[a-zA-Z0-9]]\\)\\([[ :]]\\)/\\1 \\1[]_ALL\\2/
++s/  / /g
++/^all all[]_ALL[[ :]]/i\\
++all-configured : all[]_ALL
++dnl dist-all exists... and would make for dist-all-all
++s/ [[a-zA-Z0-9-]]*[]_ALL [[a-zA-Z0-9-]]*[]_ALL[]_ALL//g
++/[]_ALL[]_ALL/d
++a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$n * \$\@"; if test "\$\$n" -eq "0" ; then : \\\\\\
++      ; BUILD=$x grep "^####.*|" Makefile |tail -1| sed -e 's/.*|//' $x ; fi \\\\\\
++      ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
++      ; test "\$\$use" = "\$\@" && BUILD=$x echo "\$\$BUILD" | tail -1 $x \\\\\\
++      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; (cd "\$\$i" && test ! -f configure && \$(MAKE) \$\$use) || exit; done
++dnl special rule add-on: "dist" copies the tarball to $(PUB). (source tree)
++/dist[]_ALL *:/a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).tar.*" \\\\\\
++      ; if test "\$\$found" -eq "0" ; then : \\\\\\
++      ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
++      ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).tar.* \\\\\\
++      ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
++dnl special rule add-on: "dist-foo" copies all the archives to $(PUB). (source tree)
++/dist-[[a-zA-Z0-9]]*[]_ALL *:/a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh ./config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### \$\$HOST " Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; found=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$found \$(PACKAGE)-\$(VERSION).*" \\\\\\
++      ; if test "\$\$found" -eq "0" ; then : \\\\\\
++      ; BUILD=$x grep "^#### .*|" Makefile |tail -1| sed -e 's/.*|//' $x \\\\\\
++      ; fi ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; for f in \$\$i/\$(PACKAGE)-\$(VERSION).* \\\\\\
++      ; do test -f "\$\$f" && mv "\$\$f" \$(PUB). ; done ; break ; done
++dnl special rule add-on: "distclean" removes all local builddirs completely
++/distclean[]_ALL *:/a\\
++      @ HOST="\$(HOST)\" \\\\\\
++      ; test ".\$\$HOST" = "." && HOST=$x sh $AUX/config.guess $x \\\\\\
++      ; BUILD=$x grep "^#### .*|" Makefile | sed -e 's/.*|//' $x \\\\\\
++      ; use=$x basename "\$\@" _ALL $x; n=$x echo \$\$BUILD | wc -w $x \\\\\\
++      ; echo "MAKE \$\$HOST : \$\$n * \$\@ (all local builds)" \\\\\\
++      ; test ".\$\$BUILD" = "." && BUILD="." \\\\\\
++      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; echo "# rm -r \$\$i"; done ; echo "# (sleep 3)" ; sleep 3 \\\\\\
++      ; for i in \$\$BUILD ; do test ".\$\$i" = "." && continue \\\\\\
++      ; echo "\$\$i" | grep "^/" > /dev/null && continue \\\\\\
++      ; echo "\$\$i" | grep "^../" > /dev/null && continue \\\\\\
++      ; echo "rm -r \$\$i"; (rm -r "\$\$i") ; done ; rm Makefile
++_EOF
++      cp "$tmp/conftemp.sed" "$SRC/makefile.sed~"            ## DEBUGGING
++      $SED -f $tmp/conftemp.sed Makefile >$SRC/Makefile
++      if test -f "$SRC/m4_ifval([$2],[$2],[END])" ; then
++        AC_MSG_NOTICE([extend TOP/Makefile with TOP/m4_ifval([$2],[$2],[END])])
++        cat $SRC/END >>$SRC/Makefile
++      fi ; xxxx="####"
++      echo "$xxxx CONFIGURATIONS FOR TOPLEVEL MAKEFILE: " >>$SRC/Makefile
++      # sanity check
++      if grep '^; echo "MAKE ' $SRC/Makefile >/dev/null ; then
++        AC_MSG_NOTICE([buggy sed found - it deletes tab in "a" text parts])
++        $SED -e '/^@ HOST=/s/^/       /' -e '/^; /s/^/        /' $SRC/Makefile \
++          >$SRC/Makefile~
++        (test -s $SRC/Makefile~ && mv $SRC/Makefile~ $SRC/Makefile) 2>/dev/null
++      fi
++    else
++      xxxx="\\#\\#\\#\\#"
++      # echo "/^$xxxx *$ax_enable_builddir_host /d" >$tmp/conftemp.sed
++      echo "s!^$xxxx [[^|]]* | *$SUB *\$!$xxxx ...... $SUB!" >$tmp/conftemp.sed
++      $SED -f "$tmp/conftemp.sed" "$SRC/Makefile" >$tmp/mkfile.tmp
++        cp "$tmp/conftemp.sed" "$SRC/makefiles.sed~"         ## DEBUGGING
++        cp "$tmp/mkfile.tmp"   "$SRC/makefiles.out~"         ## DEBUGGING
++      if cmp -s "$SRC/Makefile" "$tmp/mkfile.tmp" 2>/dev/null ; then
++        AC_MSG_NOTICE([keeping TOP/Makefile from earlier configure])
++        rm "$tmp/mkfile.tmp"
++      else
++        AC_MSG_NOTICE([reusing TOP/Makefile from earlier configure])
++        mv "$tmp/mkfile.tmp" "$SRC/Makefile"
++      fi
++    fi
++    AC_MSG_NOTICE([build in $SUB (HOST=$ax_enable_builddir_host)])
++    xxxx="####"
++    echo "$xxxx" "$ax_enable_builddir_host" "|$SUB" >>$SRC/Makefile
++  fi
++popdef([END])dnl
++AS_VAR_POPDEF([SED])dnl
++AS_VAR_POPDEF([AUX])dnl
++AS_VAR_POPDEF([SRC])dnl
++AS_VAR_POPDEF([TOP])dnl
++AS_VAR_POPDEF([SUB])dnl
++],[dnl
++ax_enable_builddir_srcdir="$srcdir"                    # $srcdir
++ax_enable_builddir_host="$HOST"                        # $HOST / $host
++ax_enable_builddir_version="$VERSION"                  # $VERSION
++ax_enable_builddir_package="$PACKAGE"                  # $PACKAGE
++ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
++ax_enable_builddir_sed="$ax_enable_builddir_sed"       # $SED
++ax_enable_builddir="$ax_enable_builddir"               # $SUB
++])dnl
++])
+Index: libffi/m4/ax_gcc_archflag.m4
+===================================================================
+--- /dev/null
++++ libffi/m4/ax_gcc_archflag.m4
+@@ -0,0 +1,215 @@
++# ===========================================================================
++#      http://www.gnu.org/software/autoconf-archive/ax_gcc_archflag.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_GCC_ARCHFLAG([PORTABLE?], [ACTION-SUCCESS], [ACTION-FAILURE])
++#
++# DESCRIPTION
++#
++#   This macro tries to guess the "native" arch corresponding to the target
++#   architecture for use with gcc's -march=arch or -mtune=arch flags. If
++#   found, the cache variable $ax_cv_gcc_archflag is set to this flag and
++#   ACTION-SUCCESS is executed; otherwise $ax_cv_gcc_archflag is set to
++#   "unknown" and ACTION-FAILURE is executed. The default ACTION-SUCCESS is
++#   to add $ax_cv_gcc_archflag to the end of $CFLAGS.
++#
++#   PORTABLE? should be either [yes] (default) or [no]. In the former case,
++#   the flag is set to -mtune (or equivalent) so that the architecture is
++#   only used for tuning, but the instruction set used is still portable. In
++#   the latter case, the flag is set to -march (or equivalent) so that
++#   architecture-specific instructions are enabled.
++#
++#   The user can specify --with-gcc-arch=<arch> in order to override the
++#   macro's choice of architecture, or --without-gcc-arch to disable this.
++#
++#   When cross-compiling, or if $CC is not gcc, then ACTION-FAILURE is
++#   called unless the user specified --with-gcc-arch manually.
++#
++#   Requires macros: AX_CHECK_COMPILE_FLAG, AX_GCC_X86_CPUID
++#
++#   (The main emphasis here is on recent CPUs, on the principle that doing
++#   high-performance computing on old hardware is uncommon.)
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++#   Copyright (c) 2008 Matteo Frigo
++#
++#   This program is free software: you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation, either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
++
++#serial 10
++
++AC_DEFUN([AX_GCC_ARCHFLAG],
++[AC_REQUIRE([AC_PROG_CC])
++AC_REQUIRE([AC_CANONICAL_HOST])
++
++AC_ARG_WITH(gcc-arch, [AS_HELP_STRING([--with-gcc-arch=<arch>], [use architecture <arch> for gcc -march/-mtune, instead of guessing])],
++      ax_gcc_arch=$withval, ax_gcc_arch=yes)
++
++AC_MSG_CHECKING([for gcc architecture flag])
++AC_MSG_RESULT([])
++AC_CACHE_VAL(ax_cv_gcc_archflag,
++[
++ax_cv_gcc_archflag="unknown"
++
++if test "$GCC" = yes; then
++
++if test "x$ax_gcc_arch" = xyes; then
++ax_gcc_arch=""
++if test "$cross_compiling" = no; then
++case $host_cpu in
++  i[[3456]]86*|x86_64*) # use cpuid codes, in part from x86info-1.7 by D. Jones
++     AX_GCC_X86_CPUID(0)
++     AX_GCC_X86_CPUID(1)
++     case $ax_cv_gcc_x86_cpuid_0 in
++       *:756e6547:*:*) # Intel
++          case $ax_cv_gcc_x86_cpuid_1 in
++          *5[[48]]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
++          *5??:*:*:*) ax_gcc_arch=pentium ;;
++          *6[[3456]]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
++          *6a?:*[[01]]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
++          *6a?:*[[234]]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
++          *6[[9d]]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
++          *6[[78b]]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
++          *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
++            *f3[[347]]:*:*:*|*f4[1347]:*:*:*)
++              case $host_cpu in
++                  x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
++                  *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
++                esac ;;
++            *f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
++          esac ;;
++       *:68747541:*:*) # AMD
++          case $ax_cv_gcc_x86_cpuid_1 in
++          *5[[67]]?:*:*:*) ax_gcc_arch=k6 ;;
++          *5[[8d]]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
++          *5[[9]]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
++          *60?:*:*:*) ax_gcc_arch=k7 ;;
++          *6[[12]]?:*:*:*) ax_gcc_arch="athlon k7" ;;
++          *6[[34]]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
++          *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
++          *6[[68a]]?:*:*:*)
++             AX_GCC_X86_CPUID(0x80000006) # L2 cache size
++             case $ax_cv_gcc_x86_cpuid_0x80000006 in
++                 *:*:*[[1-9a-f]]??????:*) # (L2 = ecx >> 16) >= 256
++                      ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
++                 *) ax_gcc_arch="athlon-4 athlon k7" ;;
++             esac ;;
++          *f[[4cef8b]]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
++          *f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
++          *f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
++          *f??:*:*:*) ax_gcc_arch="k8" ;;
++          esac ;;
++      *:746e6543:*:*) # IDT
++         case $ax_cv_gcc_x86_cpuid_1 in
++           *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
++           *58?:*:*:*) ax_gcc_arch=winchip2 ;;
++           *6[[78]]?:*:*:*) ax_gcc_arch=c3 ;;
++           *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
++         esac ;;
++     esac
++     if test x"$ax_gcc_arch" = x; then # fallback
++      case $host_cpu in
++        i586*) ax_gcc_arch=pentium ;;
++        i686*) ax_gcc_arch=pentiumpro ;;
++        esac
++     fi
++     ;;
 +
-+proc ${tool}_maybe_build_wrapper { filename args } {
-+    global gluefile wrap_flags
++  sparc*)
++     AC_PATH_PROG([PRTDIAG], [prtdiag], [prtdiag], [$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/])
++     cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
++     cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
++     case $cputype in
++         *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
++         *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
++         *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
++         *supersparc*|*tms390z5[[05]]*) ax_gcc_arch="supersparc v8" ;;
++         *hypersparc*|*rt62[[056]]*) ax_gcc_arch="hypersparc v8" ;;
++         *cypress*) ax_gcc_arch=cypress ;;
++     esac ;;
++
++  alphaev5) ax_gcc_arch=ev5 ;;
++  alphaev56) ax_gcc_arch=ev56 ;;
++  alphapca56) ax_gcc_arch="pca56 ev56" ;;
++  alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
++  alphaev6) ax_gcc_arch=ev6 ;;
++  alphaev67) ax_gcc_arch=ev67 ;;
++  alphaev68) ax_gcc_arch="ev68 ev67" ;;
++  alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
++  alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
++  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
++
++  powerpc*)
++     cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
++     cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
++     case $cputype in
++       *750*) ax_gcc_arch="750 G3" ;;
++       *740[[0-9]]*) ax_gcc_arch="$cputype 7400 G4" ;;
++       *74[[4-5]][[0-9]]*) ax_gcc_arch="$cputype 7450 G4" ;;
++       *74[[0-9]][[0-9]]*) ax_gcc_arch="$cputype G4" ;;
++       *970*) ax_gcc_arch="970 G5 power4";;
++       *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
++       *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
++       603ev|8240) ax_gcc_arch="$cputype 603e 603";;
++       *) ax_gcc_arch=$cputype ;;
++     esac
++     ax_gcc_arch="$ax_gcc_arch powerpc"
++     ;;
++esac
++fi # not cross-compiling
++fi # guess arch
++
++if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
++for arch in $ax_gcc_arch; do
++  if test "x[]m4_default([$1],yes)" = xyes; then # if we require portable code
++    flags="-mtune=$arch"
++    # -mcpu=$arch and m$arch generate nonportable code on every arch except
++    # x86.  And some other arches (e.g. Alpha) don't accept -mtune.  Grrr.
++    case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
++  else
++    flags="-march=$arch -mcpu=$arch -m$arch"
++  fi
++  for flag in $flags; do
++    AX_CHECK_COMPILE_FLAG($flag, [ax_cv_gcc_archflag=$flag; break])
++  done
++  test "x$ax_cv_gcc_archflag" = xunknown || break
++done
++fi
 +
-+    if { [target_info needs_status_wrapper] != "" \
-+       && [target_info needs_status_wrapper] != "0" \
-+       && ![info exists gluefile] } {
-+      set saved_wrap_compile_flags [target_info wrap_compile_flags]
-+      set flags [join $args " "]
-+      # The wrapper code may contain code that gcc objects on.  This
-+      # became true for dejagnu-1.4.4.  The set of warnings and code
-+      # that gcc objects on may change, so just make sure -w is always
-+      # passed to turn off all warnings.
-+      set_currtarget_info wrap_compile_flags \
-+          "$saved_wrap_compile_flags -w $flags"
-+      set result [build_wrapper $filename]
-+      set_currtarget_info wrap_compile_flags "$saved_wrap_compile_flags"
-+      if { $result != "" } {
-+          set gluefile [lindex $result 0]
-+          set wrap_flags [lindex $result 1]
-+      }
-+    }
-+}
-Index: libffi/include/Makefile.am
++fi # $GCC=yes
++])
++AC_MSG_CHECKING([for gcc architecture flag])
++AC_MSG_RESULT($ax_cv_gcc_archflag)
++if test "x$ax_cv_gcc_archflag" = xunknown; then
++  m4_default([$3],:)
++else
++  m4_default([$2], [CFLAGS="$CFLAGS $ax_cv_gcc_archflag"])
++fi
++])
+Index: libffi/m4/ax_gcc_x86_cpuid.m4
 ===================================================================
---- libffi.orig/include/Makefile.am
-+++ libffi/include/Makefile.am
-@@ -5,8 +5,5 @@ AUTOMAKE_OPTIONS=foreign
- DISTCLEANFILES=ffitarget.h
- EXTRA_DIST=ffi.h.in ffi_common.h
+--- /dev/null
++++ libffi/m4/ax_gcc_x86_cpuid.m4
+@@ -0,0 +1,79 @@
++# ===========================================================================
++#     http://www.gnu.org/software/autoconf-archive/ax_gcc_x86_cpuid.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_GCC_X86_CPUID(OP)
++#
++# DESCRIPTION
++#
++#   On Pentium and later x86 processors, with gcc or a compiler that has a
++#   compatible syntax for inline assembly instructions, run a small program
++#   that executes the cpuid instruction with input OP. This can be used to
++#   detect the CPU type.
++#
++#   On output, the values of the eax, ebx, ecx, and edx registers are stored
++#   as hexadecimal strings as "eax:ebx:ecx:edx" in the cache variable
++#   ax_cv_gcc_x86_cpuid_OP.
++#
++#   If the cpuid instruction fails (because you are running a
++#   cross-compiler, or because you are not using gcc, or because you are on
++#   a processor that doesn't have this instruction), ax_cv_gcc_x86_cpuid_OP
++#   is set to the string "unknown".
++#
++#   This macro mainly exists to be used in AX_GCC_ARCHFLAG.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++#   Copyright (c) 2008 Matteo Frigo
++#
++#   This program is free software: you can redistribute it and/or modify it
++#   under the terms of the GNU General Public License as published by the
++#   Free Software Foundation, either version 3 of the License, or (at your
++#   option) any later version.
++#
++#   This program is distributed in the hope that it will be useful, but
++#   WITHOUT ANY WARRANTY; without even the implied warranty of
++#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++#   Public License for more details.
++#
++#   You should have received a copy of the GNU General Public License along
++#   with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++#   As a special exception, the respective Autoconf Macro's copyright owner
++#   gives unlimited permission to copy, distribute and modify the configure
++#   scripts that are the output of Autoconf when processing the Macro. You
++#   need not follow the terms of the GNU General Public License when using
++#   or distributing such scripts, even though portions of the text of the
++#   Macro appear in them. The GNU General Public License (GPL) does govern
++#   all other use of the material that constitutes the Autoconf Macro.
++#
++#   This special exception to the GPL applies to versions of the Autoconf
++#   Macro released by the Autoconf Archive. When you make and distribute a
++#   modified version of the Autoconf Macro, you may extend this special
++#   exception to the GPL to apply to your modified version as well.
++
++#serial 7
++
++AC_DEFUN([AX_GCC_X86_CPUID],
++[AC_REQUIRE([AC_PROG_CC])
++AC_LANG_PUSH([C])
++AC_CACHE_CHECK(for x86 cpuid $1 output, ax_cv_gcc_x86_cpuid_$1,
++ [AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>], [
++     int op = $1, eax, ebx, ecx, edx;
++     FILE *f;
++      __asm__("cpuid"
++        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
++        : "a" (op));
++     f = fopen("conftest_cpuid", "w"); if (!f) return 1;
++     fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
++     fclose(f);
++     return 0;
++])],
++     [ax_cv_gcc_x86_cpuid_$1=`cat conftest_cpuid`; rm -f conftest_cpuid],
++     [ax_cv_gcc_x86_cpuid_$1=unknown; rm -f conftest_cpuid],
++     [ax_cv_gcc_x86_cpuid_$1=unknown])])
++AC_LANG_POP([C])
++])
+Index: libffi/Makefile.in
+===================================================================
+--- libffi.orig/Makefile.in
++++ libffi/Makefile.in
+@@ -15,6 +15,7 @@
+ @SET_MAKE@
++
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+@@ -35,55 +36,64 @@ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
+ target_triplet = @target@
+-@MIPS_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
+-@X86_TRUE@am__append_2 = src/x86/ffi.c src/x86/sysv.S
+-@X86_FREEBSD_TRUE@am__append_3 = src/x86/ffi.c src/x86/freebsd.S
+-@X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
+-@X86_WIN64_TRUE@am__append_5 = src/x86/ffi.c src/x86/win64.S
+-@X86_DARWIN_TRUE@am__append_6 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
+-@SPARC_TRUE@am__append_7 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
+-@ALPHA_TRUE@am__append_8 = src/alpha/ffi.c src/alpha/osf.S
+-@IA64_TRUE@am__append_9 = src/ia64/ffi.c src/ia64/unix.S
+-@M32R_TRUE@am__append_10 = src/m32r/sysv.S src/m32r/ffi.c
+-@M68K_TRUE@am__append_11 = src/m68k/ffi.c src/m68k/sysv.S
+-@POWERPC_TRUE@am__append_12 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
+-@POWERPC_AIX_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
+-@POWERPC_DARWIN_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
+-@POWERPC_FREEBSD_TRUE@am__append_15 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
+-@ARM_TRUE@am__append_16 = src/arm/sysv.S src/arm/ffi.c
+-@AVR32_TRUE@am__append_17 = src/avr32/sysv.S src/avr32/ffi.c
+-@LIBFFI_CRIS_TRUE@am__append_18 = src/cris/sysv.S src/cris/ffi.c
+-@FRV_TRUE@am__append_19 = src/frv/eabi.S src/frv/ffi.c
+-@S390_TRUE@am__append_20 = src/s390/sysv.S src/s390/ffi.c
+-@X86_64_TRUE@am__append_21 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
+-@SH_TRUE@am__append_22 = src/sh/sysv.S src/sh/ffi.c
+-@SH64_TRUE@am__append_23 = src/sh64/sysv.S src/sh64/ffi.c
+-@PA_LINUX_TRUE@am__append_24 = src/pa/linux.S src/pa/ffi.c
+-@PA_HPUX_TRUE@am__append_25 = src/pa/hpux32.S src/pa/ffi.c
++@FFI_DEBUG_TRUE@am__append_1 = src/debug.c
++@MIPS_TRUE@am__append_2 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
++@X86_TRUE@am__append_3 = src/x86/ffi.c src/x86/sysv.S
++@X86_FREEBSD_TRUE@am__append_4 = src/x86/ffi.c src/x86/freebsd.S
++@X86_WIN32_TRUE@am__append_5 = src/x86/ffi.c src/x86/win32.S
++@X86_WIN64_TRUE@am__append_6 = src/x86/ffi.c src/x86/win64.S
++@X86_DARWIN_TRUE@am__append_7 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
++@SPARC_TRUE@am__append_8 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
++@ALPHA_TRUE@am__append_9 = src/alpha/ffi.c src/alpha/osf.S
++@IA64_TRUE@am__append_10 = src/ia64/ffi.c src/ia64/unix.S
++@M32R_TRUE@am__append_11 = src/m32r/sysv.S src/m32r/ffi.c
++@M68K_TRUE@am__append_12 = src/m68k/ffi.c src/m68k/sysv.S
++@POWERPC_TRUE@am__append_13 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
++@POWERPC_AIX_TRUE@am__append_14 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
++@POWERPC_DARWIN_TRUE@am__append_15 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
++@POWERPC_FREEBSD_TRUE@am__append_16 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
++@ARM_TRUE@am__append_17 = src/arm/sysv.S src/arm/ffi.c
++@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__append_18 = src/arm/trampoline.S
++@AVR32_TRUE@am__append_19 = src/avr32/sysv.S src/avr32/ffi.c
++@LIBFFI_CRIS_TRUE@am__append_20 = src/cris/sysv.S src/cris/ffi.c
++@FRV_TRUE@am__append_21 = src/frv/eabi.S src/frv/ffi.c
++@MOXIE_TRUE@am__append_22 = src/moxie/eabi.S src/moxie/ffi.c
++@S390_TRUE@am__append_23 = src/s390/sysv.S src/s390/ffi.c
++@X86_64_TRUE@am__append_24 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
++@SH_TRUE@am__append_25 = src/sh/sysv.S src/sh/ffi.c
++@SH64_TRUE@am__append_26 = src/sh64/sysv.S src/sh64/ffi.c
++@PA_LINUX_TRUE@am__append_27 = src/pa/linux.S src/pa/ffi.c
++@PA_HPUX_TRUE@am__append_28 = src/pa/hpux32.S src/pa/ffi.c
++# Build debug. Define FFI_DEBUG on the commandline so that, when building with
++# MSVC, it can link against the debug CRT.
++@FFI_DEBUG_TRUE@am__append_29 = -DFFI_DEBUG
+ subdir = .
+-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \
+-      $(srcdir)/../config.guess $(srcdir)/../config.sub \
+-      $(srcdir)/../depcomp $(srcdir)/../install-sh \
+-      $(srcdir)/../ltmain.sh $(srcdir)/../missing \
+-      $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
+-      $(srcdir)/Makefile.in $(srcdir)/fficonfig.h.in \
+-      $(top_srcdir)/configure ChangeLog
++DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
++      $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
++      $(srcdir)/doc/version.texi $(srcdir)/fficonfig.h.in \
++      $(srcdir)/libffi.pc.in $(top_srcdir)/configure ChangeLog \
++      compile config.guess config.sub depcomp install-sh ltmain.sh \
++      mdate-sh missing texinfo.tex
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+-      $(top_srcdir)/../config/lead-dot.m4 \
+-      $(top_srcdir)/../config/multi.m4 \
+-      $(top_srcdir)/../config/override.m4 \
+-      $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+-      $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+-      $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
++am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
++      $(top_srcdir)/m4/ax_cc_maxopt.m4 \
++      $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
++      $(top_srcdir)/m4/ax_compiler_vendor.m4 \
++      $(top_srcdir)/m4/ax_configure_args.m4 \
++      $(top_srcdir)/m4/ax_enable_builddir.m4 \
++      $(top_srcdir)/m4/ax_gcc_archflag.m4 \
++      $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
++      $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
++      $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
++      $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+  configure.lineno config.status.lineno
+-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
++mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = fficonfig.h
+-CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_FILES = libffi.pc
+ CONFIG_CLEAN_VPATH_FILES =
+ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+ am__vpath_adj = case $$p in \
+@@ -106,50 +116,54 @@ am__nobase_list = $(am__nobase_strip_set
+ am__base_list = \
+   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+-am__installdirs = "$(DESTDIR)$(toolexeclibdir)"
+-LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
++am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" \
++      "$(DESTDIR)$(pkgconfigdir)"
++LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
+ libffi_la_LIBADD =
+ am__dirstamp = $(am__leading_dot)dirstamp
+-am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
+-      src/raw_api.lo src/java_raw_api.lo src/closures.lo
+-@MIPS_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
++am_libffi_la_OBJECTS = src/prep_cif.lo src/types.lo src/raw_api.lo \
++      src/java_raw_api.lo src/closures.lo
++@FFI_DEBUG_TRUE@am__objects_1 = src/debug.lo
++@MIPS_TRUE@am__objects_2 = src/mips/ffi.lo src/mips/o32.lo \
+ @MIPS_TRUE@   src/mips/n32.lo
+-@X86_TRUE@am__objects_2 = src/x86/ffi.lo src/x86/sysv.lo
+-@X86_FREEBSD_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/freebsd.lo
+-@X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
+-@X86_WIN64_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win64.lo
+-@X86_DARWIN_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/darwin.lo \
++@X86_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/sysv.lo
++@X86_FREEBSD_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/freebsd.lo
++@X86_WIN32_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/win32.lo
++@X86_WIN64_TRUE@am__objects_6 = src/x86/ffi.lo src/x86/win64.lo
++@X86_DARWIN_TRUE@am__objects_7 = src/x86/ffi.lo src/x86/darwin.lo \
+ @X86_DARWIN_TRUE@     src/x86/ffi64.lo src/x86/darwin64.lo
+-@SPARC_TRUE@am__objects_7 = src/sparc/ffi.lo src/sparc/v8.lo \
++@SPARC_TRUE@am__objects_8 = src/sparc/ffi.lo src/sparc/v8.lo \
+ @SPARC_TRUE@  src/sparc/v9.lo
+-@ALPHA_TRUE@am__objects_8 = src/alpha/ffi.lo src/alpha/osf.lo
+-@IA64_TRUE@am__objects_9 = src/ia64/ffi.lo src/ia64/unix.lo
+-@M32R_TRUE@am__objects_10 = src/m32r/sysv.lo src/m32r/ffi.lo
+-@M68K_TRUE@am__objects_11 = src/m68k/ffi.lo src/m68k/sysv.lo
+-@POWERPC_TRUE@am__objects_12 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
++@ALPHA_TRUE@am__objects_9 = src/alpha/ffi.lo src/alpha/osf.lo
++@IA64_TRUE@am__objects_10 = src/ia64/ffi.lo src/ia64/unix.lo
++@M32R_TRUE@am__objects_11 = src/m32r/sysv.lo src/m32r/ffi.lo
++@M68K_TRUE@am__objects_12 = src/m68k/ffi.lo src/m68k/sysv.lo
++@POWERPC_TRUE@am__objects_13 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
+ @POWERPC_TRUE@        src/powerpc/ppc_closure.lo \
+ @POWERPC_TRUE@        src/powerpc/linux64.lo \
+ @POWERPC_TRUE@        src/powerpc/linux64_closure.lo
+-@POWERPC_AIX_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
++@POWERPC_AIX_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
+ @POWERPC_AIX_TRUE@    src/powerpc/aix.lo \
+ @POWERPC_AIX_TRUE@    src/powerpc/aix_closure.lo
+-@POWERPC_DARWIN_TRUE@am__objects_14 = src/powerpc/ffi_darwin.lo \
++@POWERPC_DARWIN_TRUE@am__objects_15 = src/powerpc/ffi_darwin.lo \
+ @POWERPC_DARWIN_TRUE@ src/powerpc/darwin.lo \
+ @POWERPC_DARWIN_TRUE@ src/powerpc/darwin_closure.lo
+-@POWERPC_FREEBSD_TRUE@am__objects_15 = src/powerpc/ffi.lo \
++@POWERPC_FREEBSD_TRUE@am__objects_16 = src/powerpc/ffi.lo \
+ @POWERPC_FREEBSD_TRUE@        src/powerpc/sysv.lo \
+ @POWERPC_FREEBSD_TRUE@        src/powerpc/ppc_closure.lo
+-@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
+-@AVR32_TRUE@am__objects_17 = src/avr32/sysv.lo src/avr32/ffi.lo
+-@LIBFFI_CRIS_TRUE@am__objects_18 = src/cris/sysv.lo src/cris/ffi.lo
+-@FRV_TRUE@am__objects_19 = src/frv/eabi.lo src/frv/ffi.lo
+-@S390_TRUE@am__objects_20 = src/s390/sysv.lo src/s390/ffi.lo
+-@X86_64_TRUE@am__objects_21 = src/x86/ffi64.lo src/x86/unix64.lo \
++@ARM_TRUE@am__objects_17 = src/arm/sysv.lo src/arm/ffi.lo
++@ARM_TRUE@@FFI_EXEC_TRAMPOLINE_TABLE_TRUE@am__objects_18 = src/arm/trampoline.lo
++@AVR32_TRUE@am__objects_19 = src/avr32/sysv.lo src/avr32/ffi.lo
++@LIBFFI_CRIS_TRUE@am__objects_20 = src/cris/sysv.lo src/cris/ffi.lo
++@FRV_TRUE@am__objects_21 = src/frv/eabi.lo src/frv/ffi.lo
++@MOXIE_TRUE@am__objects_22 = src/moxie/eabi.lo src/moxie/ffi.lo
++@S390_TRUE@am__objects_23 = src/s390/sysv.lo src/s390/ffi.lo
++@X86_64_TRUE@am__objects_24 = src/x86/ffi64.lo src/x86/unix64.lo \
+ @X86_64_TRUE@ src/x86/ffi.lo src/x86/sysv.lo
+-@SH_TRUE@am__objects_22 = src/sh/sysv.lo src/sh/ffi.lo
+-@SH64_TRUE@am__objects_23 = src/sh64/sysv.lo src/sh64/ffi.lo
+-@PA_LINUX_TRUE@am__objects_24 = src/pa/linux.lo src/pa/ffi.lo
+-@PA_HPUX_TRUE@am__objects_25 = src/pa/hpux32.lo src/pa/ffi.lo
++@SH_TRUE@am__objects_25 = src/sh/sysv.lo src/sh/ffi.lo
++@SH64_TRUE@am__objects_26 = src/sh64/sysv.lo src/sh64/ffi.lo
++@PA_LINUX_TRUE@am__objects_27 = src/pa/linux.lo src/pa/ffi.lo
++@PA_HPUX_TRUE@am__objects_28 = src/pa/hpux32.lo src/pa/ffi.lo
+ nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
+       $(am__objects_3) $(am__objects_4) $(am__objects_5) \
+       $(am__objects_6) $(am__objects_7) $(am__objects_8) \
+@@ -158,17 +172,18 @@ nodist_libffi_la_OBJECTS = $(am__objects
+       $(am__objects_15) $(am__objects_16) $(am__objects_17) \
+       $(am__objects_18) $(am__objects_19) $(am__objects_20) \
+       $(am__objects_21) $(am__objects_22) $(am__objects_23) \
+-      $(am__objects_24) $(am__objects_25)
++      $(am__objects_24) $(am__objects_25) $(am__objects_26) \
++      $(am__objects_27) $(am__objects_28)
+ libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
+       $(nodist_libffi_la_OBJECTS)
+ libffi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(libffi_la_LDFLAGS) $(LDFLAGS) -o $@
+ libffi_convenience_la_LIBADD =
+-am__objects_26 = src/debug.lo src/prep_cif.lo src/types.lo \
+-      src/raw_api.lo src/java_raw_api.lo src/closures.lo
+-am_libffi_convenience_la_OBJECTS = $(am__objects_26)
+-am__objects_27 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
++am__objects_29 = src/prep_cif.lo src/types.lo src/raw_api.lo \
++      src/java_raw_api.lo src/closures.lo
++am_libffi_convenience_la_OBJECTS = $(am__objects_29)
++am__objects_30 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
+       $(am__objects_4) $(am__objects_5) $(am__objects_6) \
+       $(am__objects_7) $(am__objects_8) $(am__objects_9) \
+       $(am__objects_10) $(am__objects_11) $(am__objects_12) \
+@@ -176,12 +191,13 @@ am__objects_27 = $(am__objects_1) $(am__
+       $(am__objects_16) $(am__objects_17) $(am__objects_18) \
+       $(am__objects_19) $(am__objects_20) $(am__objects_21) \
+       $(am__objects_22) $(am__objects_23) $(am__objects_24) \
+-      $(am__objects_25)
+-nodist_libffi_convenience_la_OBJECTS = $(am__objects_27)
++      $(am__objects_25) $(am__objects_26) $(am__objects_27) \
++      $(am__objects_28)
++nodist_libffi_convenience_la_OBJECTS = $(am__objects_30)
+ libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
+       $(nodist_libffi_convenience_la_OBJECTS)
+ DEFAULT_INCLUDES = -I.@am__isrc@
+-depcomp = $(SHELL) $(top_srcdir)/../depcomp
++depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+ am__mv = mv -f
+ CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+@@ -202,12 +218,18 @@ SOURCES = $(libffi_la_SOURCES) $(nodist_
+       $(libffi_convenience_la_SOURCES) \
+       $(nodist_libffi_convenience_la_SOURCES)
+ DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
+-MULTISRCTOP = 
+-MULTIBUILDTOP = 
+-MULTIDIRS = 
+-MULTISUBDIR = 
+-MULTIDO = true
+-MULTICLEAN = true
++INFO_DEPS = $(srcdir)/doc/libffi.info
++am__TEXINFO_TEX_DIR = $(srcdir)
++DVIS = doc/libffi.dvi
++PDFS = doc/libffi.pdf
++PSS = doc/libffi.ps
++HTMLS = doc/libffi.html
++TEXINFOS = doc/libffi.texi
++TEXI2DVI = texi2dvi
++TEXI2PDF = $(TEXI2DVI) --pdf --batch
++MAKEINFOHTML = $(MAKEINFO) --html
++AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
++DVIPS = dvips
+ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+       html-recursive info-recursive install-data-recursive \
+       install-dvi-recursive install-exec-recursive \
+@@ -215,6 +237,7 @@ RECURSIVE_TARGETS = all-recursive check-
+       install-pdf-recursive install-ps-recursive install-recursive \
+       installcheck-recursive installdirs-recursive pdf-recursive \
+       ps-recursive uninstall-recursive
++DATA = $(pkgconfig_DATA)
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive       \
+   distclean-recursive maintainer-clean-recursive
+ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+@@ -280,6 +303,7 @@ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -287,6 +311,7 @@ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
++FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+ FGREP = @FGREP@
+ GREP = @GREP@
+ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
+@@ -305,6 +330,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -320,6 +346,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PRTDIAG = @PRTDIAG@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -332,6 +359,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -339,6 +367,7 @@ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
++ax_enable_builddir_sed = @ax_enable_builddir_sed@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+@@ -366,7 +395,6 @@ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+-multi_basedir = @multi_basedir@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+@@ -375,6 +403,7 @@ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
++sys_symbol_underscore = @sys_symbol_underscore@
+ sysconfdir = @sysconfdir@
+ target = @target@
+ target_alias = @target_alias@
+@@ -387,7 +416,6 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign subdir-objects
+-ACLOCAL_AMFLAGS = -I .. -I ../config
+ SUBDIRS = include testsuite man
+ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
+       src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
+@@ -395,27 +423,31 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
+       src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
+       src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
+       src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
+-      src/ia64/unix.S \
+-      src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
+-      src/mips/ffitarget.h \
+-      src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
+-      src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
+-      src/powerpc/ffi.c src/powerpc/sysv.S \
++      src/ia64/unix.S src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
++      src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S \
++      src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S \
++      src/m68k/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S \
+       src/powerpc/linux64.S src/powerpc/linux64_closure.S \
+-      src/powerpc/ppc_closure.S src/powerpc/asm.h \
+-      src/powerpc/aix.S src/powerpc/darwin.S \
+-      src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
+-      src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
+-      src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
+-      src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
+-      src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
+-      src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
+-      src/sparc/ffi.c src/x86/darwin64.S \
++      src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S \
++      src/powerpc/darwin.S src/powerpc/aix_closure.S \
++      src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
++      src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S \
++      src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S \
++      src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S \
++      src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S \
++      src/sparc/ffitarget.h src/sparc/ffi.c src/x86/darwin64.S \
+       src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
+-      src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
+-      src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
+-      src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c
++      src/x86/win64.S src/x86/freebsd.S src/x86/ffi64.c \
++      src/x86/unix64.S src/x86/ffitarget.h src/pa/ffitarget.h \
++      src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S src/frv/ffi.c \
++      src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
++      src/moxie/ffi.c src/moxie/eabi.S libtool-version \
++      ChangeLog.libffi m4/libtool.m4 m4/lt~obsolete.m4 \
++      m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 build-ios.sh \
++      m4/ltversion.m4 build-ios.sh src/arm/gentramp.sh src/debug.c \
++      msvcc.sh
++info_TEXINFOS = doc/libffi.texi
+ # Work around what appears to be a GNU make bug handling MAKEFLAGS
+ # values defined in terms of make variables, as is the case for CC and
+@@ -455,15 +487,15 @@ AM_MAKEFLAGS = \
+       "RANLIB=$(RANLIB)" \
+       "DESTDIR=$(DESTDIR)"
+-
+-# Subdir rules rely on $(FLAGS_TO_PASS)
+-FLAGS_TO_PASS = $(AM_MAKEFLAGS)
+ MAKEOVERRIDES = 
+-toolexeclib_LTLIBRARIES = libffi.la
++ACLOCAL_AMFLAGS = $(ACLOCAL_AMFLAGS) -I m4
++lib_LTLIBRARIES = libffi.la
+ noinst_LTLIBRARIES = libffi_convenience.la
+-libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
++libffi_la_SOURCES = src/prep_cif.c src/types.c \
+               src/raw_api.c src/java_raw_api.c src/closures.c
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = libffi.pc
+ nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
+       $(am__append_3) $(am__append_4) $(am__append_5) \
+       $(am__append_6) $(am__append_7) $(am__append_8) \
+@@ -472,19 +504,19 @@ nodist_libffi_la_SOURCES = $(am__append_
+       $(am__append_15) $(am__append_16) $(am__append_17) \
+       $(am__append_18) $(am__append_19) $(am__append_20) \
+       $(am__append_21) $(am__append_22) $(am__append_23) \
+-      $(am__append_24) $(am__append_25)
++      $(am__append_24) $(am__append_25) $(am__append_26) \
++      $(am__append_27) $(am__append_28)
+ libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
+ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
+-AM_CFLAGS = -Wall -g -fexceptions
+-LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
++AM_CFLAGS = -g $(am__append_29)
+ libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
+ AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
+-AM_CCASFLAGS = $(AM_CPPFLAGS)
++AM_CCASFLAGS = $(AM_CPPFLAGS) -g
+ all: fficonfig.h
+       $(MAKE) $(AM_MAKEFLAGS) all-recursive
+ .SUFFIXES:
+-.SUFFIXES: .S .c .lo .o .obj
++.SUFFIXES: .S .c .dvi .lo .o .obj .ps
+ am--refresh:
+       @:
+ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+@@ -536,41 +568,43 @@ $(srcdir)/fficonfig.h.in: @MAINTAINER_MO
+ distclean-hdr:
+       -rm -f fficonfig.h stamp-h1
+-
+-clean-noinstLTLIBRARIES:
+-      -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+-      @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+-        dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+-        test "$$dir" != "$$p" || dir=.; \
+-        echo "rm -f \"$${dir}/so_locations\""; \
+-        rm -f "$${dir}/so_locations"; \
+-      done
+-install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
++libffi.pc: $(top_builddir)/config.status $(srcdir)/libffi.pc.in
++      cd $(top_builddir) && $(SHELL) ./config.status $@
++install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+       @$(NORMAL_INSTALL)
+-      test -z "$(toolexeclibdir)" || $(MKDIR_P) "$(DESTDIR)$(toolexeclibdir)"
+-      @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
++      test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
++      @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+       list2=; for p in $$list; do \
+         if test -f $$p; then \
+           list2="$$list2 $$p"; \
+         else :; fi; \
+       done; \
+       test -z "$$list2" || { \
+-        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(toolexeclibdir)'"; \
+-        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(toolexeclibdir)"; \
++        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
++        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+       }
+-uninstall-toolexeclibLTLIBRARIES:
++uninstall-libLTLIBRARIES:
+       @$(NORMAL_UNINSTALL)
+-      @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
++      @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+       for p in $$list; do \
+         $(am__strip_dir) \
+-        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(toolexeclibdir)/$$f'"; \
+-        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$f"; \
++        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
++        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+       done
+-clean-toolexeclibLTLIBRARIES:
+-      -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
+-      @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
++clean-libLTLIBRARIES:
++      -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
++      @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
++        dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
++        test "$$dir" != "$$p" || dir=.; \
++        echo "rm -f \"$${dir}/so_locations\""; \
++        rm -f "$${dir}/so_locations"; \
++      done
++
++clean-noinstLTLIBRARIES:
++      -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
++      @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+         test "$$dir" != "$$p" || dir=.; \
+         echo "rm -f \"$${dir}/so_locations\""; \
+@@ -582,12 +616,12 @@ src/$(am__dirstamp):
+ src/$(DEPDIR)/$(am__dirstamp):
+       @$(MKDIR_P) src/$(DEPDIR)
+       @: > src/$(DEPDIR)/$(am__dirstamp)
+-src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
++src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+ src/mips/$(am__dirstamp):
+       @$(MKDIR_P) src/mips
+       @: > src/mips/$(am__dirstamp)
+@@ -710,6 +744,8 @@ src/arm/sysv.lo: src/arm/$(am__dirstamp)
+       src/arm/$(DEPDIR)/$(am__dirstamp)
+ src/arm/ffi.lo: src/arm/$(am__dirstamp) \
+       src/arm/$(DEPDIR)/$(am__dirstamp)
++src/arm/trampoline.lo: src/arm/$(am__dirstamp) \
++      src/arm/$(DEPDIR)/$(am__dirstamp)
+ src/avr32/$(am__dirstamp):
+       @$(MKDIR_P) src/avr32
+       @: > src/avr32/$(am__dirstamp)
+@@ -740,6 +776,16 @@ src/frv/eabi.lo: src/frv/$(am__dirstamp)
+       src/frv/$(DEPDIR)/$(am__dirstamp)
+ src/frv/ffi.lo: src/frv/$(am__dirstamp) \
+       src/frv/$(DEPDIR)/$(am__dirstamp)
++src/moxie/$(am__dirstamp):
++      @$(MKDIR_P) src/moxie
++      @: > src/moxie/$(am__dirstamp)
++src/moxie/$(DEPDIR)/$(am__dirstamp):
++      @$(MKDIR_P) src/moxie/$(DEPDIR)
++      @: > src/moxie/$(DEPDIR)/$(am__dirstamp)
++src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
++      src/moxie/$(DEPDIR)/$(am__dirstamp)
++src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
++      src/moxie/$(DEPDIR)/$(am__dirstamp)
+ src/s390/$(am__dirstamp):
+       @$(MKDIR_P) src/s390
+       @: > src/s390/$(am__dirstamp)
+@@ -783,7 +829,7 @@ src/pa/ffi.lo: src/pa/$(am__dirstamp) sr
+ src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
+       src/pa/$(DEPDIR)/$(am__dirstamp)
+ libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES) 
+-      $(libffi_la_LINK) -rpath $(toolexeclibdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
++      $(libffi_la_LINK) -rpath $(libdir) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
+ libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES) 
+       $(LINK)  $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
+@@ -797,6 +843,8 @@ mostlyclean-compile:
+       -rm -f src/arm/ffi.lo
+       -rm -f src/arm/sysv.$(OBJEXT)
+       -rm -f src/arm/sysv.lo
++      -rm -f src/arm/trampoline.$(OBJEXT)
++      -rm -f src/arm/trampoline.lo
+       -rm -f src/avr32/ffi.$(OBJEXT)
+       -rm -f src/avr32/ffi.lo
+       -rm -f src/avr32/sysv.$(OBJEXT)
+@@ -833,6 +881,10 @@ mostlyclean-compile:
+       -rm -f src/mips/n32.lo
+       -rm -f src/mips/o32.$(OBJEXT)
+       -rm -f src/mips/o32.lo
++      -rm -f src/moxie/eabi.$(OBJEXT)
++      -rm -f src/moxie/eabi.lo
++      -rm -f src/moxie/ffi.$(OBJEXT)
++      -rm -f src/moxie/ffi.lo
+       -rm -f src/pa/ffi.$(OBJEXT)
+       -rm -f src/pa/ffi.lo
+       -rm -f src/pa/hpux32.$(OBJEXT)
+@@ -915,6 +967,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/trampoline.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/avr32/$(DEPDIR)/sysv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
+@@ -930,6 +983,8 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/n32.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
+@@ -1025,6 +1080,7 @@ clean-libtool:
+       -rm -rf src/m32r/.libs src/m32r/_libs
+       -rm -rf src/m68k/.libs src/m68k/_libs
+       -rm -rf src/mips/.libs src/mips/_libs
++      -rm -rf src/moxie/.libs src/moxie/_libs
+       -rm -rf src/pa/.libs src/pa/_libs
+       -rm -rf src/powerpc/.libs src/powerpc/_libs
+       -rm -rf src/s390/.libs src/s390/_libs
+@@ -1035,23 +1091,191 @@ clean-libtool:
+ distclean-libtool:
+       -rm -f libtool config.lt
++doc/$(am__dirstamp):
++      @$(MKDIR_P) doc
++      @: > doc/$(am__dirstamp)
++
++$(srcdir)/doc/libffi.info: doc/libffi.texi $(srcdir)/doc/version.texi
++      restore=: && backupdir="$(am__leading_dot)am$$$$" && \
++      am__cwd=`pwd` && $(am__cd) $(srcdir) && \
++      rm -rf $$backupdir && mkdir $$backupdir && \
++      if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
++        for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
++          if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
++        done; \
++      else :; fi && \
++      cd "$$am__cwd"; \
++      if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
++       -o $@ $(srcdir)/doc/libffi.texi; \
++      then \
++        rc=0; \
++        $(am__cd) $(srcdir); \
++      else \
++        rc=$$?; \
++        $(am__cd) $(srcdir) && \
++        $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
++      fi; \
++      rm -rf $$backupdir; exit $$rc
+-# GNU Make needs to see an explicit $(MAKE) variable in the command it
+-# runs to enable its job server during parallel builds.  Hence the
+-# comments below.
+-all-multi:
+-      $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
+-install-multi:
+-      $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
+-
+-mostlyclean-multi:
+-      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
+-clean-multi:
+-      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
+-distclean-multi:
+-      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
+-maintainer-clean-multi:
+-      $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
++doc/libffi.dvi: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
++      TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
++      MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
++      $(TEXI2DVI) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
++
++doc/libffi.pdf: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
++      TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
++      MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc' \
++      $(TEXI2PDF) -o $@ `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi
++
++doc/libffi.html: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
++      rm -rf $(@:.html=.htp)
++      if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I doc -I $(srcdir)/doc \
++       -o $(@:.html=.htp) `test -f 'doc/libffi.texi' || echo '$(srcdir)/'`doc/libffi.texi; \
++      then \
++        rm -rf $@; \
++        if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
++          mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
++      else \
++        if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
++          rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
++        exit 1; \
++      fi
++$(srcdir)/doc/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/doc/stamp-vti
++$(srcdir)/doc/stamp-vti: doc/libffi.texi $(top_srcdir)/configure
++      test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) doc/$(am__dirstamp)
++      @(dir=.; test -f ./doc/libffi.texi || dir=$(srcdir); \
++      set `$(SHELL) $(srcdir)/mdate-sh $$dir/doc/libffi.texi`; \
++      echo "@set UPDATED $$1 $$2 $$3"; \
++      echo "@set UPDATED-MONTH $$2 $$3"; \
++      echo "@set EDITION $(VERSION)"; \
++      echo "@set VERSION $(VERSION)") > vti.tmp
++      @cmp -s vti.tmp $(srcdir)/doc/version.texi \
++        || (echo "Updating $(srcdir)/doc/version.texi"; \
++            cp vti.tmp $(srcdir)/doc/version.texi)
++      -@rm -f vti.tmp
++      @cp $(srcdir)/doc/version.texi $@
++
++mostlyclean-vti:
++      -rm -f vti.tmp
++
++maintainer-clean-vti:
++@MAINTAINER_MODE_TRUE@        -rm -f $(srcdir)/doc/stamp-vti $(srcdir)/doc/version.texi
++.dvi.ps:
++      TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
++      $(DVIPS) -o $@ $<
++
++uninstall-dvi-am:
++      @$(NORMAL_UNINSTALL)
++      @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
++      for p in $$list; do \
++        $(am__strip_dir) \
++        echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
++        rm -f "$(DESTDIR)$(dvidir)/$$f"; \
++      done
++
++uninstall-html-am:
++      @$(NORMAL_UNINSTALL)
++      @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
++      for p in $$list; do \
++        $(am__strip_dir) \
++        echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
++        rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
++      done
++
++uninstall-info-am:
++      @$(PRE_UNINSTALL)
++      @if test -d '$(DESTDIR)$(infodir)' && \
++          (install-info --version && \
++           install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
++        list='$(INFO_DEPS)'; \
++        for file in $$list; do \
++          relfile=`echo "$$file" | sed 's|^.*/||'`; \
++          echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
++          if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
++          then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
++        done; \
++      else :; fi
++      @$(NORMAL_UNINSTALL)
++      @list='$(INFO_DEPS)'; \
++      for file in $$list; do \
++        relfile=`echo "$$file" | sed 's|^.*/||'`; \
++        relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
++        (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
++           echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
++           rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
++         else :; fi); \
++      done
++
++uninstall-pdf-am:
++      @$(NORMAL_UNINSTALL)
++      @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
++      for p in $$list; do \
++        $(am__strip_dir) \
++        echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
++        rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
++      done
++
++uninstall-ps-am:
++      @$(NORMAL_UNINSTALL)
++      @list='$(PSS)'; test -n "$(psdir)" || list=; \
++      for p in $$list; do \
++        $(am__strip_dir) \
++        echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
++        rm -f "$(DESTDIR)$(psdir)/$$f"; \
++      done
++
++dist-info: $(INFO_DEPS)
++      @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
++      list='$(INFO_DEPS)'; \
++      for base in $$list; do \
++        case $$base in \
++          $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
++        esac; \
++        if test -f $$base; then d=.; else d=$(srcdir); fi; \
++        base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
++        for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
++          if test -f $$file; then \
++            relfile=`expr "$$file" : "$$d/\(.*\)"`; \
++            test -f "$(distdir)/$$relfile" || \
++              cp -p $$file "$(distdir)/$$relfile"; \
++          else :; fi; \
++        done; \
++      done
++
++mostlyclean-aminfo:
++      -rm -rf libffi.aux libffi.cp libffi.cps libffi.fn libffi.ky libffi.log \
++        libffi.pg libffi.tmp libffi.toc libffi.tp libffi.vr
++
++clean-aminfo:
++      -test -z "doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html" \
++      || rm -rf doc/libffi.dvi doc/libffi.pdf doc/libffi.ps doc/libffi.html
++
++maintainer-clean-aminfo:
++      @list='$(INFO_DEPS)'; for i in $$list; do \
++        i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
++        echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
++        rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
++      done
++install-pkgconfigDATA: $(pkgconfig_DATA)
++      @$(NORMAL_INSTALL)
++      test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
++      @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
++      for p in $$list; do \
++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        echo "$$d$$p"; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
++      done
++
++uninstall-pkgconfigDATA:
++      @$(NORMAL_UNINSTALL)
++      @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
++      files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
++      test -n "$$files" || exit 0; \
++      echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
++      cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
+ # This directory's subdirectories are mostly independent; you can cd
+ # into them and run `make' without going through this Makefile.
+@@ -1248,6 +1472,9 @@ distdir: $(DISTFILES)
+             || exit 1; \
+         fi; \
+       done
++      $(MAKE) $(AM_MAKEFLAGS) \
++        top_distdir="$(top_distdir)" distdir="$(distdir)" \
++        dist-info
+       -test -n "$(am__skip_mode_fix)" \
+       || find "$(distdir)" -type d ! -perm -755 \
+               -exec chmod u+rwx,go+rx {} \; -o \
+@@ -1365,10 +1592,10 @@ distcleancheck: distclean
+              exit 1; } >&2
+ check-am: all-am
+ check: check-recursive
+-all-am: Makefile $(LTLIBRARIES) all-multi fficonfig.h
++all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(DATA) fficonfig.h
+ installdirs: installdirs-recursive
+ installdirs-am:
+-      for dir in "$(DESTDIR)$(toolexeclibdir)"; do \
++      for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgconfigdir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+ install: install-recursive
+@@ -1392,6 +1619,7 @@ clean-generic:
+ distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++      -rm -f doc/$(am__dirstamp)
+       -rm -f src/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/$(am__dirstamp)
+       -rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
+@@ -1412,6 +1640,8 @@ distclean-generic:
+       -rm -f src/m68k/$(am__dirstamp)
+       -rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/mips/$(am__dirstamp)
++      -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
++      -rm -f src/moxie/$(am__dirstamp)
+       -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/pa/$(am__dirstamp)
+       -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
+@@ -1430,114 +1660,186 @@ distclean-generic:
+ maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+-clean: clean-multi clean-recursive
++clean: clean-recursive
+-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+-      clean-toolexeclibLTLIBRARIES mostlyclean-am
++clean-am: clean-aminfo clean-generic clean-libLTLIBRARIES \
++      clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
+-distclean: distclean-multi distclean-recursive
++distclean: distclean-recursive
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+-      -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
++      -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
+       -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-hdr distclean-libtool distclean-tags
+ dvi: dvi-recursive
+-dvi-am:
++dvi-am: $(DVIS)
+ html: html-recursive
+-html-am:
++html-am: $(HTMLS)
+ info: info-recursive
+-info-am:
++info-am: $(INFO_DEPS)
+-install-data-am:
++install-data-am: install-info-am install-pkgconfigDATA
+ install-dvi: install-dvi-recursive
+-install-dvi-am:
+-
+-install-exec-am: install-multi install-toolexeclibLTLIBRARIES
+-
+-install-html: install-html-recursive
+-
+-install-html-am:
++install-dvi-am: $(DVIS)
++      @$(NORMAL_INSTALL)
++      test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
++      @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
++      for p in $$list; do \
++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        echo "$$d$$p"; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
++      done
++install-exec-am: install-libLTLIBRARIES
++install-html-am: $(HTMLS)
++      @$(NORMAL_INSTALL)
++      test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
++      @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
++      for p in $$list; do \
++        if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        $(am__strip_dir) \
++        if test -d "$$d$$p"; then \
++          echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
++          $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
++          echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
++          $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
++        else \
++          list2="$$list2 $$d$$p"; \
++        fi; \
++      done; \
++      test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
++      done; }
+ install-info: install-info-recursive
+-install-info-am:
+-
++install-info-am: $(INFO_DEPS)
++      @$(NORMAL_INSTALL)
++      test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
++      @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
++      list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
++      for file in $$list; do \
++        case $$file in \
++          $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
++        esac; \
++        if test -f $$file; then d=.; else d=$(srcdir); fi; \
++        file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
++        for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
++                     $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
++          if test -f $$ifile; then \
++            echo "$$ifile"; \
++          else : ; fi; \
++        done; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
++      @$(POST_INSTALL)
++      @if (install-info --version && \
++           install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
++        list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
++        for file in $$list; do \
++          relfile=`echo "$$file" | sed 's|^.*/||'`; \
++          echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
++          install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
++        done; \
++      else : ; fi
+ install-man:
+-install-pdf: install-pdf-recursive
+-
+-install-pdf-am:
+-
++install-pdf-am: $(PDFS)
++      @$(NORMAL_INSTALL)
++      test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
++      @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
++      for p in $$list; do \
++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        echo "$$d$$p"; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
+ install-ps: install-ps-recursive
+-install-ps-am:
+-
++install-ps-am: $(PSS)
++      @$(NORMAL_INSTALL)
++      test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
++      @list='$(PSS)'; test -n "$(psdir)" || list=; \
++      for p in $$list; do \
++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++        echo "$$d$$p"; \
++      done | $(am__base_list) | \
++      while read files; do \
++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
++        $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
+ installcheck-am:
+-maintainer-clean: maintainer-clean-multi maintainer-clean-recursive
++maintainer-clean: maintainer-clean-recursive
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -rf $(top_srcdir)/autom4te.cache
+-      -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
++      -rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
+       -rm -f Makefile
+-maintainer-clean-am: distclean-am maintainer-clean-generic
++maintainer-clean-am: distclean-am maintainer-clean-aminfo \
++      maintainer-clean-generic maintainer-clean-vti
+-mostlyclean: mostlyclean-multi mostlyclean-recursive
++mostlyclean: mostlyclean-recursive
+-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+-      mostlyclean-libtool
++mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
++      mostlyclean-generic mostlyclean-libtool mostlyclean-vti
+ pdf: pdf-recursive
+-pdf-am:
++pdf-am: $(PDFS)
+ ps: ps-recursive
+-ps-am:
++ps-am: $(PSS)
+-uninstall-am: uninstall-toolexeclibLTLIBRARIES
++uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
++      uninstall-libLTLIBRARIES uninstall-pdf-am \
++      uninstall-pkgconfigDATA uninstall-ps-am
+-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all all-multi \
+-      clean-multi ctags-recursive distclean-multi install-am \
+-      install-multi install-strip maintainer-clean-multi \
+-      mostlyclean-multi tags-recursive
++.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
++      ctags-recursive install-am install-strip tags-recursive
+ .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+-      all all-am all-multi am--refresh check check-am clean \
+-      clean-generic clean-libtool clean-multi \
+-      clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES ctags \
+-      ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-lzma \
+-      dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
+-      distclean-compile distclean-generic distclean-hdr \
+-      distclean-libtool distclean-multi distclean-tags \
+-      distcleancheck distdir distuninstallcheck dvi dvi-am html \
+-      html-am info info-am install install-am install-data \
+-      install-data-am install-dvi install-dvi-am install-exec \
+-      install-exec-am install-html install-html-am install-info \
+-      install-info-am install-man install-multi install-pdf \
+-      install-pdf-am install-ps install-ps-am install-strip \
+-      install-toolexeclibLTLIBRARIES installcheck installcheck-am \
+-      installdirs installdirs-am maintainer-clean \
+-      maintainer-clean-generic maintainer-clean-multi mostlyclean \
++      all all-am am--refresh check check-am clean clean-aminfo \
++      clean-generic clean-libLTLIBRARIES clean-libtool \
++      clean-noinstLTLIBRARIES ctags ctags-recursive dist dist-all \
++      dist-bzip2 dist-gzip dist-info dist-lzma dist-shar dist-tarZ \
++      dist-xz dist-zip distcheck distclean distclean-compile \
++      distclean-generic distclean-hdr distclean-libtool \
++      distclean-tags distcleancheck distdir distuninstallcheck dvi \
++      dvi-am html html-am info info-am install install-am \
++      install-data install-data-am install-dvi install-dvi-am \
++      install-exec install-exec-am install-html install-html-am \
++      install-info install-info-am install-libLTLIBRARIES \
++      install-man install-pdf install-pdf-am install-pkgconfigDATA \
++      install-ps install-ps-am install-strip installcheck \
++      installcheck-am installdirs installdirs-am maintainer-clean \
++      maintainer-clean-aminfo maintainer-clean-generic \
++      maintainer-clean-vti mostlyclean mostlyclean-aminfo \
+       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+-      mostlyclean-multi pdf pdf-am ps ps-am tags tags-recursive \
+-      uninstall uninstall-am uninstall-toolexeclibLTLIBRARIES
++      mostlyclean-vti pdf pdf-am ps ps-am tags tags-recursive \
++      uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
++      uninstall-info-am uninstall-libLTLIBRARIES uninstall-pdf-am \
++      uninstall-pkgconfigDATA uninstall-ps-am
+-# Multilib support.  Automake should provide these on its own.
+-all-recursive: all-multi
+-install-recursive: install-multi
+-mostlyclean-recursive: mostlyclean-multi
+-clean-recursive: clean-multi
+-distclean-recursive: distclean-multi
+-maintainer-clean-recursive: maintainer-clean-multi
++# No install-html or install-pdf support in automake yet
++.PHONY: install-html install-pdf
++install-html:
++install-pdf:
  
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+Index: libffi/include/Makefile.in
+===================================================================
+--- libffi.orig/include/Makefile.in
++++ libffi/include/Makefile.in
+@@ -37,19 +37,23 @@ host_triplet = @host@
+ target_triplet = @target@
+ subdir = include
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+-      $(srcdir)/ffi.h.in $(toollibffi_HEADERS)
++      $(srcdir)/ffi.h.in
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+-      $(top_srcdir)/../config/lead-dot.m4 \
+-      $(top_srcdir)/../config/multi.m4 \
+-      $(top_srcdir)/../config/override.m4 \
+-      $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+-      $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+-      $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
++am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
++      $(top_srcdir)/m4/ax_cc_maxopt.m4 \
++      $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
++      $(top_srcdir)/m4/ax_compiler_vendor.m4 \
++      $(top_srcdir)/m4/ax_configure_args.m4 \
++      $(top_srcdir)/m4/ax_enable_builddir.m4 \
++      $(top_srcdir)/m4/ax_gcc_archflag.m4 \
++      $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
++      $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
++      $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
++      $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
++mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = $(top_builddir)/fficonfig.h
+ CONFIG_CLEAN_FILES = ffi.h ffitarget.h
+ CONFIG_CLEAN_VPATH_FILES =
+@@ -76,8 +80,8 @@ am__nobase_list = $(am__nobase_strip_set
+ am__base_list = \
+   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+-am__installdirs = "$(DESTDIR)$(toollibffidir)"
+-HEADERS = $(toollibffi_HEADERS)
++am__installdirs = "$(DESTDIR)$(includesdir)"
++HEADERS = $(nodist_includes_HEADERS)
+ ETAGS = etags
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+@@ -102,6 +106,7 @@ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -109,6 +114,7 @@ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
++FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+ FGREP = @FGREP@
+ GREP = @GREP@
+ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
+@@ -127,6 +133,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -142,6 +149,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PRTDIAG = @PRTDIAG@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -154,6 +162,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -161,6 +170,7 @@ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
++ax_enable_builddir_sed = @ax_enable_builddir_sed@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+@@ -188,7 +198,6 @@ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+-multi_basedir = @multi_basedir@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+@@ -197,6 +206,7 @@ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
++sys_symbol_underscore = @sys_symbol_underscore@
+ sysconfdir = @sysconfdir@
+ target = @target@
+ target_alias = @target_alias@
+@@ -211,11 +221,8 @@ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign
+ DISTCLEANFILES = ffitarget.h
+ EXTRA_DIST = ffi.h.in ffi_common.h
+-
 -# Where generated headers like ffitarget.h get installed.
--gcc_version   := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
 -toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
--
 -toollibffi_HEADERS = ffi.h ffitarget.h
 +includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
 +nodist_includes_HEADERS = ffi.h ffitarget.h
-Index: libffi/README
+ all: all-am
+ .SUFFIXES:
+@@ -257,26 +264,26 @@ mostlyclean-libtool:
+ clean-libtool:
+       -rm -rf .libs _libs
+-install-toollibffiHEADERS: $(toollibffi_HEADERS)
++install-nodist_includesHEADERS: $(nodist_includes_HEADERS)
+       @$(NORMAL_INSTALL)
+-      test -z "$(toollibffidir)" || $(MKDIR_P) "$(DESTDIR)$(toollibffidir)"
+-      @list='$(toollibffi_HEADERS)'; test -n "$(toollibffidir)" || list=; \
++      test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
++      @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         echo "$$d$$p"; \
+       done | $(am__base_list) | \
+       while read files; do \
+-        echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(toollibffidir)'"; \
+-        $(INSTALL_HEADER) $$files "$(DESTDIR)$(toollibffidir)" || exit $$?; \
++        echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
++        $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
+       done
+-uninstall-toollibffiHEADERS:
++uninstall-nodist_includesHEADERS:
+       @$(NORMAL_UNINSTALL)
+-      @list='$(toollibffi_HEADERS)'; test -n "$(toollibffidir)" || list=; \
++      @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+       test -n "$$files" || exit 0; \
+-      echo " ( cd '$(DESTDIR)$(toollibffidir)' && rm -f" $$files ")"; \
+-      cd "$(DESTDIR)$(toollibffidir)" && rm -f $$files
++      echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
++      cd "$(DESTDIR)$(includesdir)" && rm -f $$files
+ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+@@ -364,7 +371,7 @@ check-am: all-am
+ check: check-am
+ all-am: Makefile $(HEADERS)
+ installdirs:
+-      for dir in "$(DESTDIR)$(toollibffidir)"; do \
++      for dir in "$(DESTDIR)$(includesdir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
+ install: install-am
+@@ -413,7 +420,7 @@ info: info-am
+ info-am:
+-install-data-am: install-toollibffiHEADERS
++install-data-am: install-nodist_includesHEADERS
+ install-dvi: install-dvi-am
+@@ -457,7 +464,7 @@ ps: ps-am
+ ps-am:
+-uninstall-am: uninstall-toollibffiHEADERS
++uninstall-am: uninstall-nodist_includesHEADERS
+ .MAKE: install-am install-strip
+@@ -467,13 +474,12 @@ uninstall-am: uninstall-toollibffiHEADER
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+-      install-info-am install-man install-pdf install-pdf-am \
+-      install-ps install-ps-am install-strip \
+-      install-toollibffiHEADERS installcheck installcheck-am \
+-      installdirs maintainer-clean maintainer-clean-generic \
+-      mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+-      ps ps-am tags uninstall uninstall-am \
+-      uninstall-toollibffiHEADERS
++      install-info-am install-man install-nodist_includesHEADERS \
++      install-pdf install-pdf-am install-ps install-ps-am \
++      install-strip installcheck installcheck-am installdirs \
++      maintainer-clean maintainer-clean-generic mostlyclean \
++      mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
++      tags uninstall uninstall-am uninstall-nodist_includesHEADERS
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+Index: libffi/man/Makefile.in
 ===================================================================
---- libffi.orig/README
-+++ libffi/README
-@@ -1,10 +1,7 @@
--This directory contains the libffi package, which is not part of GCC but
--shipped with GCC as convenience.
--
- Status
- ======
--libffi-3.0.9 was released on December 31, 2009. Check the libffi web
-+libffi-3.0.11 was released on *****************. Check the libffi web
- page for updates: <URL:http://sourceware.org/libffi/>.
-@@ -46,7 +43,7 @@ Libffi has been ported to many different
- For specific configuration details and testing status, please
- refer to the wiki page here:
-- http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.9
-+ http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.11
- At the time of release, the following basic configurations have been
- tested:
-@@ -55,12 +52,16 @@ tested:
- | Architecture | Operating System |
- |--------------+------------------|
- | Alpha        | Linux            |
-+| Alpha        | Tru64            |
- | ARM          | Linux            |
-+| ARM          | iOS              |
- | AVR32        | Linux            |
- | HPPA         | HPUX             |
- | IA-64        | Linux            |
-+| M68K         | RTEMS            |
- | MIPS         | IRIX             |
- | MIPS         | Linux            |
-+| MIPS         | RTEMS            |
- | MIPS64       | Linux            |
- | PowerPC      | Linux            |
- | PowerPC      | Mac OSX          |
-@@ -73,6 +74,7 @@ tested:
- | SPARC64      | Linux            |
- | SPARC64      | FreeBSD          |
- | X86          | FreeBSD          |
-+| X86          | Interix          |
- | X86          | kFreeBSD         |
- | X86          | Linux            |
- | X86          | Mac OSX          |
-@@ -84,6 +86,7 @@ tested:
- | X86-64       | FreeBSD          |
- | X86-64       | Linux            |
- | X86-64       | OpenBSD          |
-+| X86-64       | Windows/MingW    |
- |--------------+------------------|
- Please send additional platform test results to
-@@ -115,9 +118,15 @@ It's also possible to build libffi on Wi
- Microsoft's Visual C++ compiler.  In this case, use the msvcc.sh
- wrapper script during configuration like so:
--path/to/configure --enable-shared --enable-static \
--      CC=path/to/msvcc.sh LD=link \
--      CPP=\"cl -nologo -EP\"
-+path/to/configure CC=path/to/msvcc.sh LD=link CPP=\"cl -nologo -EP\"
-+
-+For 64-bit Windows builds, use CC="path/to/msvcc.sh -m64".
-+You may also need to specify --build appropriately. When building with MSVC
-+under a MingW environment, you may need to remove the line in configure
-+that sets 'fix_srcfile_path' to a 'cygpath' command. ('cygpath' is not
-+present in MingW, and is not required when using MingW-style paths.)
-+
-+For iOS builds, refer to the build-ios.sh script for guidance.
- Configure has many other options. Use "configure --help" to see them all.
-@@ -135,11 +144,22 @@ History
- See the ChangeLog files for details.
--3.0.10 ???-??-??
-+3.0.11 MMM-DD-YY
-+        ??????????
-+
-+3.0.10 Aug-23-11
-+        Add support for Apple's iOS.
-+      Add support for ARM VFP ABI.
-+        Add RTEMS support for MIPS and M68K.
-+      Fix instruction cache clearing problems on
-+        ARM and SPARC.
-       Fix the N64 build on mips-sgi-irix6.5.
--      Testsuite fixes for Tru64 Unix.
-       Enable builds with Microsoft's compiler.
--      Enable x86 builds with Sun's compiler.
-+      Enable x86 builds with Oracle's Solaris compiler.
-+      Fix support for calling code compiled with Oracle's Sparc
-+        Solaris compiler.
-+      Testsuite fixes for Tru64 Unix.
-+      Additional platform support.
- 3.0.9 Dec-31-09
-         Add AVR32 and win64 ports.  Add ARM softfp support.
-@@ -320,5 +340,6 @@ Alex Oliva solved the executable page pr
- The list above is almost certainly incomplete and inaccurate.  I'm
- happy to make corrections or additions upon request.
--If you have a problem, or have found a bug, please send a note to
--green@redhat.com.
-+If you have a problem, or have found a bug, please send a note to the
-+author at green@moxielogic.com, or the project mailing list at
-+libffi-discuss@sourceware.org.
-Index: libffi/testsuite/Makefile.am
+--- libffi.orig/man/Makefile.in
++++ libffi/man/Makefile.in
+@@ -37,17 +37,21 @@ target_triplet = @target@
+ subdir = man
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+-      $(top_srcdir)/../config/lead-dot.m4 \
+-      $(top_srcdir)/../config/multi.m4 \
+-      $(top_srcdir)/../config/override.m4 \
+-      $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+-      $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+-      $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
++am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
++      $(top_srcdir)/m4/ax_cc_maxopt.m4 \
++      $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
++      $(top_srcdir)/m4/ax_compiler_vendor.m4 \
++      $(top_srcdir)/m4/ax_configure_args.m4 \
++      $(top_srcdir)/m4/ax_enable_builddir.m4 \
++      $(top_srcdir)/m4/ax_gcc_archflag.m4 \
++      $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
++      $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
++      $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
++      $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
++mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = $(top_builddir)/fficonfig.h
+ CONFIG_CLEAN_FILES =
+ CONFIG_CLEAN_VPATH_FILES =
+@@ -100,6 +104,7 @@ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -107,6 +112,7 @@ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
++FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+ FGREP = @FGREP@
+ GREP = @GREP@
+ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
+@@ -125,6 +131,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -140,6 +147,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PRTDIAG = @PRTDIAG@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -152,6 +160,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -159,6 +168,7 @@ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
++ax_enable_builddir_sed = @ax_enable_builddir_sed@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+@@ -186,7 +196,6 @@ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+-multi_basedir = @multi_basedir@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+@@ -195,6 +204,7 @@ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
++sys_symbol_underscore = @sys_symbol_underscore@
+ sysconfdir = @sysconfdir@
+ target = @target@
+ target_alias = @target_alias@
+@@ -207,8 +217,8 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign
+-EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3
+-man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3
++EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
++man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
+ all: all-am
+ .SUFFIXES:
+Index: libffi/testsuite/Makefile.in
 ===================================================================
---- libffi.orig/testsuite/Makefile.am
-+++ libffi/testsuite/Makefile.am
-@@ -14,3 +14,67 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
- AM_RUNTESTFLAGS =
+--- libffi.orig/testsuite/Makefile.in
++++ libffi/testsuite/Makefile.in
+@@ -37,17 +37,21 @@ target_triplet = @target@
+ subdir = testsuite
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+-      $(top_srcdir)/../config/lead-dot.m4 \
+-      $(top_srcdir)/../config/multi.m4 \
+-      $(top_srcdir)/../config/override.m4 \
+-      $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
+-      $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
+-      $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
++am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
++      $(top_srcdir)/m4/ax_cc_maxopt.m4 \
++      $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
++      $(top_srcdir)/m4/ax_compiler_vendor.m4 \
++      $(top_srcdir)/m4/ax_configure_args.m4 \
++      $(top_srcdir)/m4/ax_enable_builddir.m4 \
++      $(top_srcdir)/m4/ax_gcc_archflag.m4 \
++      $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
++      $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
++      $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
++      $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
+       $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
++mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = $(top_builddir)/fficonfig.h
+ CONFIG_CLEAN_FILES =
+ CONFIG_CLEAN_VPATH_FILES =
+@@ -77,6 +81,7 @@ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
++DLLTOOL = @DLLTOOL@
+ DSYMUTIL = @DSYMUTIL@
+ DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+@@ -84,6 +89,7 @@ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
++FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+ FGREP = @FGREP@
+ GREP = @GREP@
+ HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
+@@ -102,6 +108,7 @@ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
++MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+ NM = @NM@
+ NMEDIT = @NMEDIT@
+@@ -117,6 +124,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
++PRTDIAG = @PRTDIAG@
+ RANLIB = @RANLIB@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+@@ -129,6 +137,7 @@ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
++ac_ct_AR = @ac_ct_AR@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+@@ -136,6 +145,7 @@ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
++ax_enable_builddir_sed = @ax_enable_builddir_sed@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+@@ -163,7 +173,6 @@ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+-multi_basedir = @multi_basedir@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+@@ -172,6 +181,7 @@ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
++sys_symbol_underscore = @sys_symbol_underscore@
+ sysconfdir = @sysconfdir@
+ target = @target@
+ target_alias = @target_alias@
+@@ -195,6 +205,70 @@ RUNTEST = `if [ -f $(top_srcdir)/../deja
+           else echo runtest; fi`
  
  CLEANFILES = *.exe core* *.log *.sum
-+
 +EXTRA_DIST = libffi.special/special.exp       \
 +libffi.special/unwindtest_ffi_call.cc libffi.special/unwindtest.cc \
 +libffi.special/ffitestcxx.h config/default.exp lib/target-libpath.exp \
@@ -13782,77 +18409,938 @@ Index: libffi/testsuite/Makefile.am
 +libffi.call/cls_longdouble.c libffi.call/cls_9byte2.c \
 +libffi.call/nested_struct10.c libffi.call/nested_struct5.c \
 +libffi.call/huge_struct.c
-Index: libffi/testsuite/lib/libffi.exp
-===================================================================
---- libffi.orig/testsuite/lib/libffi.exp
-+++ libffi/testsuite/lib/libffi.exp
-@@ -1,4 +1,4 @@
--#   Copyright (C) 2003, 2005, 2008, 2009, 2010 Free Software Foundation, Inc.
-+#   Copyright (C) 2003, 2005, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -16,7 +16,7 @@
- proc load_gcc_lib { filename } {
-     global srcdir
--    load_file $srcdir/../../gcc/testsuite/lib/$filename
-+    load_file $srcdir/lib/$filename
- }
++
+ all: all-am
  
- load_lib dg.exp
-@@ -94,7 +94,6 @@ proc libffi-init { args } {
-     global srcdir
-     global blddirffi
-     global objdir
--    global blddircxx
-     global TOOL_OPTIONS
-     global tool
-     global libffi_include
-@@ -102,10 +101,8 @@ proc libffi-init { args } {
-     global tool_root_dir
-     global ld_library_path
+ .SUFFIXES:
+Index: libffi/man/Makefile.am
+===================================================================
+--- libffi.orig/man/Makefile.am
++++ libffi/man/Makefile.am
+@@ -2,7 +2,7 @@
  
--    set blddirffi [lookfor_file [get_multilibs] libffi]
-+    set blddirffi [pwd]/.. 
-     verbose "libffi $blddirffi"
--    set blddircxx [lookfor_file [get_multilibs] libstdc++-v3]
--    verbose "libstdc++ $blddircxx"
+ AUTOMAKE_OPTIONS=foreign
  
-     set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
-     if {$gccdir != ""} {
-@@ -132,8 +129,6 @@ proc libffi-init { args } {
-     }
-     # add the library path for libffi.
-     append ld_library_path ":${blddirffi}/.libs"
--    # add the library path for libstdc++ as well.
--    append ld_library_path ":${blddircxx}/src/.libs"
+-EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3
++EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
  
-     verbose "ld_library_path: $ld_library_path"
+-man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3
++man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3
  
-@@ -146,7 +141,6 @@ proc libffi-init { args } {
-     if { $libffi_dir != "" } {
-       set libffi_dir [file dirname ${libffi_dir}]
-       set libffi_link_flags "-L${libffi_dir}/.libs"
--      lappend libffi_link_flags "-L${blddircxx}/src/.libs"
-     }
+Index: libffi/config.guess
+===================================================================
+--- libffi.orig/config.guess
++++ libffi/config.guess
+@@ -1,10 +1,10 @@
+ #! /bin/sh
+ # Attempt to guess a canonical system name.
+ #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+-#   Free Software Foundation, Inc.
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
++#   2011 Free Software Foundation, Inc.
+-timestamp='2009-11-20'
++timestamp='2011-06-03'
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -56,8 +56,9 @@ version="\
+ GNU config.guess ($timestamp)
+ Originally written by Per Bothner.
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
++Software Foundation, Inc.
+ This is free software; see the source for copying conditions.  There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+@@ -180,7 +181,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+               fi
+               ;;
+           *)
+-              os=netbsd
++              os=netbsd
+               ;;
+       esac
+       # The OS release
+@@ -223,7 +224,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+               ;;
+       *5.*)
+-              UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
++              UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+               ;;
+       esac
+       # According to Compaq, /usr/sbin/psrinfo has been available on
+@@ -269,7 +270,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+       # A Xn.n version is an unreleased experimental baselevel.
+       # 1.2 uses "1.2" for uname -r.
+       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+-      exit ;;
++      # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
++      exitcode=$?
++      trap '' 0
++      exit $exitcode ;;
+     Alpha\ *:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # Should we change UNAME_MACHINE based on the output of uname instead
+@@ -295,7 +299,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+       echo s390-ibm-zvmoe
+       exit ;;
+     *:OS400:*:*)
+-        echo powerpc-ibm-os400
++      echo powerpc-ibm-os400
+       exit ;;
+     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+       echo arm-acorn-riscix${UNAME_RELEASE}
+@@ -394,23 +398,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+     # MiNT.  But MiNT is downward compatible to TOS, so this should
+     # be no problem.
+     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+-        echo m68k-atari-mint${UNAME_RELEASE}
++      echo m68k-atari-mint${UNAME_RELEASE}
+       exit ;;
+     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+       echo m68k-atari-mint${UNAME_RELEASE}
+-        exit ;;
++      exit ;;
+     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+-        echo m68k-atari-mint${UNAME_RELEASE}
++      echo m68k-atari-mint${UNAME_RELEASE}
+       exit ;;
+     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+-        echo m68k-milan-mint${UNAME_RELEASE}
+-        exit ;;
++      echo m68k-milan-mint${UNAME_RELEASE}
++      exit ;;
+     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+-        echo m68k-hades-mint${UNAME_RELEASE}
+-        exit ;;
++      echo m68k-hades-mint${UNAME_RELEASE}
++      exit ;;
+     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+-        echo m68k-unknown-mint${UNAME_RELEASE}
+-        exit ;;
++      echo m68k-unknown-mint${UNAME_RELEASE}
++      exit ;;
+     m68k:machten:*:*)
+       echo m68k-apple-machten${UNAME_RELEASE}
+       exit ;;
+@@ -480,8 +484,8 @@ EOF
+       echo m88k-motorola-sysv3
+       exit ;;
+     AViiON:dgux:*:*)
+-        # DG/UX returns AViiON for all architectures
+-        UNAME_PROCESSOR=`/usr/bin/uname -p`
++      # DG/UX returns AViiON for all architectures
++      UNAME_PROCESSOR=`/usr/bin/uname -p`
+       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+       then
+           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+@@ -494,7 +498,7 @@ EOF
+       else
+           echo i586-dg-dgux${UNAME_RELEASE}
+       fi
+-      exit ;;
++      exit ;;
+     M88*:DolphinOS:*:*)       # DolphinOS (SVR3)
+       echo m88k-dolphin-sysv3
+       exit ;;
+@@ -551,7 +555,7 @@ EOF
+               echo rs6000-ibm-aix3.2
+       fi
+       exit ;;
+-    *:AIX:*:[456])
++    *:AIX:*:[4567])
+       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+               IBM_ARCH=rs6000
+@@ -594,52 +598,52 @@ EOF
+           9000/[678][0-9][0-9])
+               if [ -x /usr/bin/getconf ]; then
+                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+-                    case "${sc_cpu_version}" in
+-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+-                      532)                      # CPU_PA_RISC2_0
+-                        case "${sc_kernel_bits}" in
+-                          32) HP_ARCH="hppa2.0n" ;;
+-                          64) HP_ARCH="hppa2.0w" ;;
++                  sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
++                  case "${sc_cpu_version}" in
++                    523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
++                    528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
++                    532)                      # CPU_PA_RISC2_0
++                      case "${sc_kernel_bits}" in
++                        32) HP_ARCH="hppa2.0n" ;;
++                        64) HP_ARCH="hppa2.0w" ;;
+                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+-                        esac ;;
+-                    esac
++                      esac ;;
++                  esac
+               fi
+               if [ "${HP_ARCH}" = "" ]; then
+                   eval $set_cc_for_build
+-                  sed 's/^              //' << EOF >$dummy.c
++                  sed 's/^            //' << EOF >$dummy.c
++
++              #define _HPUX_SOURCE
++              #include <stdlib.h>
++              #include <unistd.h>
+-              #define _HPUX_SOURCE
+-              #include <stdlib.h>
+-              #include <unistd.h>
+-
+-              int main ()
+-              {
+-              #if defined(_SC_KERNEL_BITS)
+-                  long bits = sysconf(_SC_KERNEL_BITS);
+-              #endif
+-                  long cpu  = sysconf (_SC_CPU_VERSION);
+-
+-                  switch (cpu)
+-                      {
+-                      case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+-                      case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+-                      case CPU_PA_RISC2_0:
+-              #if defined(_SC_KERNEL_BITS)
+-                          switch (bits)
+-                              {
+-                              case 64: puts ("hppa2.0w"); break;
+-                              case 32: puts ("hppa2.0n"); break;
+-                              default: puts ("hppa2.0"); break;
+-                              } break;
+-              #else  /* !defined(_SC_KERNEL_BITS) */
+-                          puts ("hppa2.0"); break;
+-              #endif
+-                      default: puts ("hppa1.0"); break;
+-                      }
+-                  exit (0);
+-              }
++              int main ()
++              {
++              #if defined(_SC_KERNEL_BITS)
++                  long bits = sysconf(_SC_KERNEL_BITS);
++              #endif
++                  long cpu  = sysconf (_SC_CPU_VERSION);
++
++                  switch (cpu)
++                      {
++                      case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
++                      case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
++                      case CPU_PA_RISC2_0:
++              #if defined(_SC_KERNEL_BITS)
++                          switch (bits)
++                              {
++                              case 64: puts ("hppa2.0w"); break;
++                              case 32: puts ("hppa2.0n"); break;
++                              default: puts ("hppa2.0"); break;
++                              } break;
++              #else  /* !defined(_SC_KERNEL_BITS) */
++                          puts ("hppa2.0"); break;
++              #endif
++                      default: puts ("hppa1.0"); break;
++                      }
++                  exit (0);
++              }
+ EOF
+                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+                   test -z "$HP_ARCH" && HP_ARCH=hppa
+@@ -730,22 +734,22 @@ EOF
+       exit ;;
+     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+       echo c1-convex-bsd
+-        exit ;;
++      exit ;;
+     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+-        exit ;;
++      exit ;;
+     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+       echo c34-convex-bsd
+-        exit ;;
++      exit ;;
+     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+       echo c38-convex-bsd
+-        exit ;;
++      exit ;;
+     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+       echo c4-convex-bsd
+-        exit ;;
++      exit ;;
+     CRAY*Y-MP:*:*:*)
+       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+@@ -769,14 +773,14 @@ EOF
+       exit ;;
+     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+-        exit ;;
++      FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++      FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
++      echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++      exit ;;
+     5000:UNIX_System_V:4.*:*)
+-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++      FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++      FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
++      echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+       exit ;;
+     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+@@ -804,14 +808,14 @@ EOF
+       echo ${UNAME_MACHINE}-pc-mingw32
+       exit ;;
+     i*:windows32*:*)
+-      # uname -m includes "-pc" on this system.
+-      echo ${UNAME_MACHINE}-mingw32
++      # uname -m includes "-pc" on this system.
++      echo ${UNAME_MACHINE}-mingw32
+       exit ;;
+     i*:PW*:*)
+       echo ${UNAME_MACHINE}-pc-pw32
+       exit ;;
+     *:Interix*:*)
+-      case ${UNAME_MACHINE} in
++      case ${UNAME_MACHINE} in
+           x86)
+               echo i586-pc-interix${UNAME_RELEASE}
+               exit ;;
+@@ -866,7 +870,7 @@ EOF
+         EV6)   UNAME_MACHINE=alphaev6 ;;
+         EV67)  UNAME_MACHINE=alphaev67 ;;
+         EV68*) UNAME_MACHINE=alphaev68 ;;
+-        esac
++      esac
+       objdump --private-headers /bin/sh | grep -q ld.so.1
+       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+@@ -878,7 +882,13 @@ EOF
+       then
+           echo ${UNAME_MACHINE}-unknown-linux-gnu
+       else
+-          echo ${UNAME_MACHINE}-unknown-linux-gnueabi
++          if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
++              | grep -q __ARM_PCS_VFP
++          then
++              echo ${UNAME_MACHINE}-unknown-linux-gnueabi
++          else
++              echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
++          fi
+       fi
+       exit ;;
+     avr32*:Linux:*:*)
+@@ -891,7 +901,7 @@ EOF
+       echo crisv32-axis-linux-gnu
+       exit ;;
+     frv:Linux:*:*)
+-      echo frv-unknown-linux-gnu
++      echo frv-unknown-linux-gnu
+       exit ;;
+     i*86:Linux:*:*)
+       LIBC=gnu
+@@ -959,7 +969,7 @@ EOF
+       echo ${UNAME_MACHINE}-ibm-linux
+       exit ;;
+     sh64*:Linux:*:*)
+-      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+     sh*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+@@ -967,6 +977,9 @@ EOF
+     sparc:Linux:*:* | sparc64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
++    tile*:Linux:*:*)
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      exit ;;
+     vax:Linux:*:*)
+       echo ${UNAME_MACHINE}-dec-linux-gnu
+       exit ;;
+@@ -974,7 +987,7 @@ EOF
+       echo x86_64-unknown-linux-gnu
+       exit ;;
+     xtensa*:Linux:*:*)
+-      echo ${UNAME_MACHINE}-unknown-linux-gnu
++      echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+     i*86:DYNIX/ptx:4*:*)
+       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+@@ -983,11 +996,11 @@ EOF
+       echo i386-sequent-sysv4
+       exit ;;
+     i*86:UNIX_SV:4.2MP:2.*)
+-        # Unixware is an offshoot of SVR4, but it has its own version
+-        # number series starting with 2...
+-        # I am not positive that other SVR4 systems won't match this,
++      # Unixware is an offshoot of SVR4, but it has its own version
++      # number series starting with 2...
++      # I am not positive that other SVR4 systems won't match this,
+       # I just have to hope.  -- rms.
+-        # Use sysv4.2uw... so that sysv4* matches it.
++      # Use sysv4.2uw... so that sysv4* matches it.
+       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+       exit ;;
+     i*86:OS/2:*:*)
+@@ -1019,7 +1032,7 @@ EOF
+       fi
+       exit ;;
+     i*86:*:5:[678]*)
+-      # UnixWare 7.x, OpenUNIX and OpenServer 6.
++      # UnixWare 7.x, OpenUNIX and OpenServer 6.
+       case `/bin/uname -X | grep "^Machine"` in
+           *486*)           UNAME_MACHINE=i486 ;;
+           *Pentium)        UNAME_MACHINE=i586 ;;
+@@ -1047,13 +1060,13 @@ EOF
+       exit ;;
+     pc:*:*:*)
+       # Left here for compatibility:
+-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+-        # the processor, so we play safe by assuming i586.
++      # uname -m prints for DJGPP always 'pc', but it prints nothing about
++      # the processor, so we play safe by assuming i586.
+       # Note: whatever this is, it MUST be the same as what config.sub
+       # prints for the "djgpp" host, or else GDB configury will decide that
+       # this is a cross-build.
+       echo i586-pc-msdosdjgpp
+-        exit ;;
++      exit ;;
+     Intel:Mach:3*:*)
+       echo i386-pc-mach3
+       exit ;;
+@@ -1088,8 +1101,8 @@ EOF
+       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+-          && { echo i486-ncr-sysv4; exit; } ;;
++      /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
++        && { echo i486-ncr-sysv4; exit; } ;;
+     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+       OS_REL='.3'
+       test -r /etc/.relid \
+@@ -1132,10 +1145,10 @@ EOF
+               echo ns32k-sni-sysv
+       fi
+       exit ;;
+-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+-                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+-        echo i586-unisys-sysv4
+-        exit ;;
++    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
++                      # says <Richard.M.Bartel@ccMail.Census.GOV>
++      echo i586-unisys-sysv4
++      exit ;;
+     *:UNIX_System_V:4*:FTX*)
+       # From Gerald Hewes <hewes@openmarket.com>.
+       # How about differentiating between stratus architectures? -djm
+@@ -1161,11 +1174,11 @@ EOF
+       exit ;;
+     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+       if [ -d /usr/nec ]; then
+-              echo mips-nec-sysv${UNAME_RELEASE}
++              echo mips-nec-sysv${UNAME_RELEASE}
+       else
+-              echo mips-unknown-sysv${UNAME_RELEASE}
++              echo mips-unknown-sysv${UNAME_RELEASE}
+       fi
+-        exit ;;
++      exit ;;
+     BeBox:BeOS:*:*)   # BeOS running on hardware made by Be, PPC only.
+       echo powerpc-be-beos
+       exit ;;
+@@ -1230,6 +1243,9 @@ EOF
+     *:QNX:*:4*)
+       echo i386-pc-qnx
+       exit ;;
++    NEO-?:NONSTOP_KERNEL:*:*)
++      echo neo-tandem-nsk${UNAME_RELEASE}
++      exit ;;
+     NSE-?:NONSTOP_KERNEL:*:*)
+       echo nse-tandem-nsk${UNAME_RELEASE}
+       exit ;;
+@@ -1275,13 +1291,13 @@ EOF
+       echo pdp10-unknown-its
+       exit ;;
+     SEI:*:*:SEIUX)
+-        echo mips-sei-seiux${UNAME_RELEASE}
++      echo mips-sei-seiux${UNAME_RELEASE}
+       exit ;;
+     *:DragonFly:*:*)
+       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit ;;
+     *:*VMS:*:*)
+-      UNAME_MACHINE=`(uname -p) 2>/dev/null`
++      UNAME_MACHINE=`(uname -p) 2>/dev/null`
+       case "${UNAME_MACHINE}" in
+           A*) echo alpha-dec-vms ; exit ;;
+           I*) echo ia64-dec-vms ; exit ;;
+@@ -1321,11 +1337,11 @@ main ()
+ #include <sys/param.h>
+   printf ("m68k-sony-newsos%s\n",
+ #ifdef NEWSOS4
+-          "4"
++      "4"
+ #else
+-        ""
++      ""
+ #endif
+-         ); exit (0);
++      ); exit (0);
+ #endif
+ #endif
  
-     set_ld_library_path_env_vars
-Index: libffi/m4/asmcfi.m4
+Index: libffi/config.sub
 ===================================================================
---- /dev/null
-+++ libffi/m4/asmcfi.m4
-@@ -0,0 +1,13 @@
-+AC_DEFUN([GCC_AS_CFI_PSEUDO_OP],
-+[AC_CACHE_CHECK([assembler .cfi pseudo-op support],
-+    gcc_cv_as_cfi_pseudo_op, [
-+    gcc_cv_as_cfi_pseudo_op=unknown
-+    AC_TRY_COMPILE([asm (".cfi_startproc\n\t.cfi_endproc");],,
-+                 [gcc_cv_as_cfi_pseudo_op=yes],
-+                 [gcc_cv_as_cfi_pseudo_op=no])
-+ ])
-+ if test "x$gcc_cv_as_cfi_pseudo_op" = xyes; then
-+    AC_DEFINE(HAVE_AS_CFI_PSEUDO_OP, 1,
-+            [Define if your assembler supports .cfi_* directives.])
-+ fi
-+])
+--- libffi.orig/config.sub
++++ libffi/config.sub
+@@ -1,10 +1,10 @@
+ #! /bin/sh
+ # Configuration validation subroutine script.
+ #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+-#   Free Software Foundation, Inc.
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
++#   2011 Free Software Foundation, Inc.
+-timestamp='2009-11-20'
++timestamp='2011-10-29'
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+@@ -75,8 +75,9 @@ Report bugs and patches to <config-patch
+ version="\
+ GNU config.sub ($timestamp)
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
++Software Foundation, Inc.
+ This is free software; see the source for copying conditions.  There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+@@ -123,8 +124,9 @@ esac
+ # Here we must recognize all the valid KERNEL-OS combinations.
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
++  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
++  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
++  knetbsd*-gnu* | netbsd*-gnu* | \
+   kopensolaris*-gnu* | \
+   storm-chaos* | os2-emx* | rtmk-nova*)
+     os=-$maybe_os
+@@ -156,8 +158,8 @@ case $os in
+               os=
+               basic_machine=$1
+               ;;
+-        -bluegene*)
+-              os=-cnk
++      -bluegene*)
++              os=-cnk
+               ;;
+       -sim | -cisco | -oki | -wec | -winbond)
+               os=
+@@ -173,10 +175,10 @@ case $os in
+               os=-chorusos
+               basic_machine=$1
+               ;;
+-      -chorusrdb)
+-              os=-chorusrdb
++      -chorusrdb)
++              os=-chorusrdb
+               basic_machine=$1
+-              ;;
++              ;;
+       -hiux*)
+               os=-hiuxwe2
+               ;;
+@@ -249,13 +251,17 @@ case $basic_machine in
+       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+       | am33_2.0 \
+       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
++        | be32 | be64 \
+       | bfin \
+       | c4x | clipper \
+       | d10v | d30v | dlx | dsp16xx \
++      | epiphany \
+       | fido | fr30 | frv \
+       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
++      | hexagon \
+       | i370 | i860 | i960 | ia64 \
+       | ip2k | iq2000 \
++      | le32 | le64 \
+       | lm32 \
+       | m32c | m32r | m32rle | m68000 | m68k | m88k \
+       | maxq | mb | microblaze | mcore | mep | metag \
+@@ -281,27 +287,38 @@ case $basic_machine in
+       | moxie \
+       | mt \
+       | msp430 \
++      | nds32 | nds32le | nds32be \
+       | nios | nios2 \
+       | ns16k | ns32k \
++      | open8 \
+       | or32 \
+       | pdp10 | pdp11 | pj | pjl \
+-      | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
++      | powerpc | powerpc64 | powerpc64le | powerpcle \
+       | pyramid \
+-      | rx \
++      | rl78 | rx \
+       | score \
+       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+       | sh64 | sh64le \
+       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+-      | spu | strongarm \
+-      | tahoe | thumb | tic4x | tic80 | tron \
++      | spu \
++      | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+       | ubicom32 \
+-      | v850 | v850e \
++      | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+       | we32k \
+-      | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
++      | x86 | xc16x | xstormy16 | xtensa \
+       | z8k | z80)
+               basic_machine=$basic_machine-unknown
+               ;;
++      c54x)
++              basic_machine=tic54x-unknown
++              ;;
++      c55x)
++              basic_machine=tic55x-unknown
++              ;;
++      c6x)
++              basic_machine=tic6x-unknown
++              ;;
+       m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+               # Motorola 68HC11/12.
+               basic_machine=$basic_machine-unknown
+@@ -313,6 +330,18 @@ case $basic_machine in
+               basic_machine=mt-unknown
+               ;;
++      strongarm | thumb | xscale)
++              basic_machine=arm-unknown
++              ;;
++
++      xscaleeb)
++              basic_machine=armeb-unknown
++              ;;
++
++      xscaleel)
++              basic_machine=armel-unknown
++              ;;
++
+       # We use `pc' rather than `unknown'
+       # because (1) that's what they normally are, and
+       # (2) the word "unknown" tends to confuse beginning users.
+@@ -332,16 +361,19 @@ case $basic_machine in
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+       | avr-* | avr32-* \
++      | be32-* | be64-* \
+       | bfin-* | bs2000-* \
+-      | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
++      | c[123]* | c30-* | [cjt]90-* | c4x-* \
+       | clipper-* | craynv-* | cydra-* \
+       | d10v-* | d30v-* | dlx-* \
+       | elxsi-* \
+       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+       | h8300-* | h8500-* \
+       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
++      | hexagon-* \
+       | i*86-* | i860-* | i960-* | ia64-* \
+       | ip2k-* | iq2000-* \
++      | le32-* | le64-* \
+       | lm32-* \
+       | m32c-* | m32r-* | m32rle-* \
+       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+@@ -367,25 +399,29 @@ case $basic_machine in
+       | mmix-* \
+       | mt-* \
+       | msp430-* \
++      | nds32-* | nds32le-* | nds32be-* \
+       | nios-* | nios2-* \
+       | none-* | np1-* | ns16k-* | ns32k-* \
++      | open8-* \
+       | orion-* \
+       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+-      | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
++      | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+       | pyramid-* \
+-      | romp-* | rs6000-* | rx-* \
++      | rl78-* | romp-* | rs6000-* | rx-* \
+       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+       | sparclite-* \
+-      | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+-      | tahoe-* | thumb-* \
+-      | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
++      | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
++      | tahoe-* \
++      | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++      | tile*-* \
+       | tron-* \
+       | ubicom32-* \
+-      | v850-* | v850e-* | vax-* \
++      | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
++      | vax-* \
+       | we32k-* \
+-      | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
++      | x86-* | x86_64-* | xc16x-* | xps100-* \
+       | xstormy16-* | xtensa*-* \
+       | ymp-* \
+       | z8k-* | z80-*)
+@@ -410,7 +446,7 @@ case $basic_machine in
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+-      abacus)
++      abacus)
+               basic_machine=abacus-unknown
+               ;;
+       adobe68k)
+@@ -480,11 +516,20 @@ case $basic_machine in
+               basic_machine=powerpc-ibm
+               os=-cnk
+               ;;
++      c54x-*)
++              basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      c55x-*)
++              basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
++      c6x-*)
++              basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
+       c90)
+               basic_machine=c90-cray
+               os=-unicos
+               ;;
+-        cegcc)
++      cegcc)
+               basic_machine=arm-unknown
+               os=-cegcc
+               ;;
+@@ -516,7 +561,7 @@ case $basic_machine in
+               basic_machine=craynv-cray
+               os=-unicosmp
+               ;;
+-      cr16)
++      cr16 | cr16-*)
+               basic_machine=cr16-unknown
+               os=-elf
+               ;;
+@@ -732,7 +777,7 @@ case $basic_machine in
+               basic_machine=ns32k-utek
+               os=-sysv
+               ;;
+-        microblaze)
++      microblaze)
+               basic_machine=microblaze-xilinx
+               ;;
+       mingw32)
+@@ -775,6 +820,10 @@ case $basic_machine in
+               basic_machine=i370-ibm
+               os=-mvs
+               ;;
++      nacl)
++              basic_machine=le32-unknown
++              os=-nacl
++              ;;
+       ncr3000)
+               basic_machine=i486-ncr
+               os=-sysv4
+@@ -839,6 +888,12 @@ case $basic_machine in
+       np1)
+               basic_machine=np1-gould
+               ;;
++      neo-tandem)
++              basic_machine=neo-tandem
++              ;;
++      nse-tandem)
++              basic_machine=nse-tandem
++              ;;
+       nsr-tandem)
+               basic_machine=nsr-tandem
+               ;;
+@@ -921,9 +976,10 @@ case $basic_machine in
+               ;;
+       power)  basic_machine=power-ibm
+               ;;
+-      ppc)    basic_machine=powerpc-unknown
++      ppc | ppcbe)    basic_machine=powerpc-unknown
+               ;;
+-      ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
++      ppc-* | ppcbe-*)
++              basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppcle | powerpclittle | ppc-le | powerpc-little)
+               basic_machine=powerpcle-unknown
+@@ -1017,6 +1073,9 @@ case $basic_machine in
+               basic_machine=i860-stratus
+               os=-sysv4
+               ;;
++      strongarm-* | thumb-*)
++              basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
++              ;;
+       sun2)
+               basic_machine=m68000-sun
+               ;;
+@@ -1073,20 +1132,8 @@ case $basic_machine in
+               basic_machine=t90-cray
+               os=-unicos
+               ;;
+-      tic54x | c54x*)
+-              basic_machine=tic54x-unknown
+-              os=-coff
+-              ;;
+-      tic55x | c55x*)
+-              basic_machine=tic55x-unknown
+-              os=-coff
+-              ;;
+-      tic6x | c6x*)
+-              basic_machine=tic6x-unknown
+-              os=-coff
+-              ;;
+       tile*)
+-              basic_machine=tile-unknown
++              basic_machine=$basic_machine-unknown
+               os=-linux-gnu
+               ;;
+       tx39)
+@@ -1156,6 +1203,9 @@ case $basic_machine in
+       xps | xps100)
+               basic_machine=xps100-honeywell
+               ;;
++      xscale-* | xscalee[bl]-*)
++              basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
++              ;;
+       ymp)
+               basic_machine=ymp-cray
+               os=-unicos
+@@ -1253,11 +1303,11 @@ esac
+ if [ x"$os" != x"" ]
+ then
+ case $os in
+-        # First match some system type aliases
+-        # that might get confused with valid system types.
++      # First match some system type aliases
++      # that might get confused with valid system types.
+       # -solaris* is a basic system type, with this one exception.
+-        -auroraux)
+-              os=-auroraux
++      -auroraux)
++              os=-auroraux
+               ;;
+       -solaris1 | -solaris1.*)
+               os=`echo $os | sed -e 's|solaris1|sunos4|'`
+@@ -1294,7 +1344,8 @@ case $os in
+             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+             | -chorusos* | -chorusrdb* | -cegcc* \
+             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+-            | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
++            | -mingw32* | -linux-gnu* | -linux-android* \
++            | -linux-newlib* | -linux-uclibc* \
+             | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+@@ -1341,7 +1392,7 @@ case $os in
+       -opened*)
+               os=-openedition
+               ;;
+-        -os400*)
++      -os400*)
+               os=-os400
+               ;;
+       -wince*)
+@@ -1390,7 +1441,7 @@ case $os in
+       -sinix*)
+               os=-sysv4
+               ;;
+-        -tpf*)
++      -tpf*)
+               os=-tpf
+               ;;
+       -triton*)
+@@ -1435,6 +1486,8 @@ case $os in
+       -dicos*)
+               os=-dicos
+               ;;
++      -nacl*)
++              ;;
+       -none)
+               ;;
+       *)
+@@ -1457,10 +1510,10 @@ else
+ # system, and we'll never get to this point.
+ case $basic_machine in
+-        score-*)
++      score-*)
+               os=-elf
+               ;;
+-        spu-*)
++      spu-*)
+               os=-elf
+               ;;
+       *-acorn)
+@@ -1472,8 +1525,17 @@ case $basic_machine in
+       arm*-semi)
+               os=-aout
+               ;;
+-        c4x-* | tic4x-*)
+-              os=-coff
++      c4x-* | tic4x-*)
++              os=-coff
++              ;;
++      tic54x-*)
++              os=-coff
++              ;;
++      tic55x-*)
++              os=-coff
++              ;;
++      tic6x-*)
++              os=-coff
+               ;;
+       # This must come before the *-dec entry.
+       pdp10-*)
+@@ -1500,7 +1562,7 @@ case $basic_machine in
+       m68*-cisco)
+               os=-aout
+               ;;
+-        mep-*)
++      mep-*)
+               os=-elf
+               ;;
+       mips*-cisco)
+@@ -1527,7 +1589,7 @@ case $basic_machine in
+       *-ibm)
+               os=-aix
+               ;;
+-      *-knuth)
++      *-knuth)
+               os=-mmixware
+               ;;
+       *-wec)
index 75bb8cc..f5305d1 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------*-C-*-
-   ffitarget.h - Copyright (c) 2012, 2009 Anthony Green
+   ffitarget.h - Copyright (c) 2009 Anthony Green
    Target configuration macros for Moxie
 
    Permission is hereby granted, free of charge, to any person obtaining
 #ifndef LIBFFI_TARGET_H
 #define LIBFFI_TARGET_H
 
-#ifndef LIBFFI_H
-#error "Please do not include ffitarget.h directly into your source.  Use ffi.h instead."
-#endif
-
 /* ---- System specific configurations ----------------------------------- */
 
 #ifndef LIBFFI_ASM
@@ -39,9 +35,13 @@ typedef signed long            ffi_sarg;
 
 typedef enum ffi_abi {
   FFI_FIRST_ABI = 0,
+
+#ifdef MOXIE
   FFI_EABI,
-  FFI_LAST_ABI,
-  FFI_DEFAULT_ABI = FFI_EABI
+  FFI_DEFAULT_ABI = FFI_EABI,
+#endif
+
+  FFI_LAST_ABI = FFI_DEFAULT_ABI + 1
 } ffi_abi;
 #endif
 
index c906017..aabd3c3 100644 (file)
@@ -167,6 +167,7 @@ ffi_closure_ASM:
 
        /* look up the proper starting point in table  */
        /* by using return type as offset */
+       lhz     r3, 10(r3)      /* load type from return type */
        ld      r4, LC..60(2)   /* get address of jump table */
        sldi    r3, r3, 4       /* now multiply return type by 16 */
        ld      r0, 240+16(r1)  /* load return address */
@@ -339,8 +340,9 @@ L..finish:
 
        /* look up the proper starting point in table  */
        /* by using return type as offset */
+       lhz     r3, 6(r3)       /* load type from return type */
        lwz     r4, LC..60(2)   /* get address of jump table */
-       slwi    r3, r3, 4       /* now multiply return type by 4 */
+       slwi    r3, r3, 4       /* now multiply return type by 16 */
        lwz     r0, 176+8(r1)   /* load return address */
        add     r3, r3, r4      /* add contents of table to table address */
        mtctr   r3
index 69bd025..3515b91 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Kaz Kojima
+   ffi.c - Copyright (c) 2002-2008, 2012 Kaz Kojima
            Copyright (c) 2008 Red Hat, Inc.
    
    SuperH Foreign Function Interface 
@@ -463,7 +463,8 @@ ffi_prep_closure_loc (ffi_closure* closure,
   unsigned int *tramp;
   unsigned int insn;
 
-  FFI_ASSERT (cif->abi == FFI_GCC_SYSV);
+  if (cif->abi != FFI_SYSV)
+    return FFI_BAD_ABI;
 
   tramp = (unsigned int *) &closure->tramp[0];
   /* Set T bit if the function returns a struct pointed with R2.  */
index 8fbc05c..123b87a 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------
-   ffi.c - Copyright (c) 2003, 2004, 2006, 2007 Kaz Kojima
+   ffi.c - Copyright (c) 2003, 2004, 2006, 2007, 2012 Kaz Kojima
            Copyright (c) 2008 Anthony Green
    
    SuperH SHmedia Foreign Function Interface 
@@ -302,7 +302,8 @@ ffi_prep_closure_loc (ffi_closure *closure,
 {
   unsigned int *tramp;
 
-  FFI_ASSERT (cif->abi == FFI_GCC_SYSV);
+  if (cif->abi != FFI_SYSV)
+    return FFI_BAD_ABI;
 
   tramp = (unsigned int *) &closure->tramp[0];
   /* Since ffi_closure is an aligned object, the ffi trampoline is
index bbb634f..b446655 100644 (file)
@@ -89,6 +89,7 @@ ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
+FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
 FGREP = @FGREP@
 GREP = @GREP@
 HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
@@ -180,6 +181,7 @@ psdir = @psdir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
+sys_symbol_underscore = @sys_symbol_underscore@
 sysconfdir = @sysconfdir@
 target = @target@
 target_alias = @target_alias@